in reply to Re^2: What makes an array sorted and a hash unsorted?
in thread What makes an array sorted and a hash unsorted?

My only excuse for the mistake is I'm just editing some old c sources and working with char arrays is damaging to the mind, I even made the same mistake there and used length() instead of strlen(). Naturally I meant scalar(@a)

Did you think you were proving Perl arrays are sparse?

No, I was trying to prove that a perl array is not what a computer science book would call an array. In such a book an idealized data type 'array' wouldn't have holes. And after thinking about it, it wouldn't have a push or pop operator, that would be the data type 'stack'

  • Comment on Re^3: What makes an array sorted and a hash unsorted?

Replies are listed 'Best First'.
Re^4: What makes an array sorted and a hash unsorted?
by ikegami (Patriarch) on Jun 04, 2009 at 16:52 UTC

    No, I was trying to prove that a perl array is not what a computer science book would call an array.

    I don't see why you think they aren't. Perl arrays are a continuous series of equally sized records, allowing for instant addressing of any element. That definitely fits the traditional formal definition.

    In such a book an idealized data type 'array' wouldn't have holes.

    Perl arrays aren't sparse. There are no holes. Every element exists. (Those three statements are synonymous.)

    And after thinking about it, it wouldn't have a push or pop operator, that would be the data type 'stack'

    Stacks (and queues, and ...) can be implemented using an array. They're not mutually exclusive.

    The presence of utility functions to manipulate a data structure doesn't change the data structure.