Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Re: how to sort multi-dimensional arrays

by flyingmoose (Priest)
on Mar 24, 2004 at 22:17 UTC ( [id://339568]=note: print w/replies, xml ) Need Help??


in reply to Re: how to sort multi-dimensional arrays
in thread how to sort multi-dimensional arrays

This brings up the tired joke of the computer science professor who walks in with five #2 pencils for his five students taking a test.

The student says "Good, I see you have brought five pencils in for us!"

The professor scratches his head and looks confused. "Surely you can't be taking Numerical Methods without the ability to count, son! There are four pencils! 0, 1, 2, 3, 4!"

---

To the OP: Bottom line, not just Perl, but all of computer science and computers in general, are zero based. After all, arrays (in C) are just offsets to memory addresses, and [0] means no offset, [1] means one width further on, and this means essentially arrays are pointer arithmetic. Now, this doesn't directly apply to Perl (at least not on the surface), but this is why we have zero-basing as a standard.

To be honest though, I don't think the notion of sorting a two dimensional array makes sense, and the lists of arrays suggestion (while not syntactically cleaner) seems to be what you want. If you really want something more advanced, maybe, just maybe, PDL might be worth looking at. It could (as far as I know) "sort" N-th dimensional arrays by arbitrary columns without blinking.

Replies are listed 'Best First'.
Re^3: how to sort multi-dimensional arrays
by etj (Deacon) on Jun 23, 2022 at 15:56 UTC
    To use PDL for this, you'd use qsorti on a slice to get the relevant column, then dice_axis the original structure on the sorted indices.
Re: Re: Re: how to sort multi-dimensional arrays
by kappa (Chaplain) on Mar 24, 2004 at 22:41 UTC
    Pascal lessons do a good (for some unusual values of "good") job of teaching people to abuse arrays. I remember, we always used 1-based arrays as they were "more natural". Teacher said so.
      If only foo[-1] worked in C like you can do in Perl! :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://339568]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-18 23:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found