Subject: [xsl] Tokenized String Sorting Puzzle/Problem From: "Scott Lynch" <slynch@xxxxxxxxxx> Date: Wed, 26 Mar 2008 09:17:52 -0400 |
I've been attempting to write a template which sorts a tokenized list of pairs of numbers with little success. Here's what I've been attempting to do: Given a string like: "1 0 2 1 1 2 1 3 1 4 2 0 1 1 2 3 2 4 6 0 5 0 10 0 10 1 10 2" I want to tokenize and build pairs like: "1 0", "2 1", "1 2", "1 3", "1 4", "2 0", "1 1", "2 3", "2 4", "6 0", "5 0", "10 0", "10 1", "10 2" That part I can do (and have done) fairly easily using a simple for-each loop. What I can't seem to accomplish is sorting the resulting pairs into numerical order based on the first and then the second values in each pair. Like this (this line breaks are just for visual clarity in this email and are not necessary in the transform): "1 0", "1 1", "1 2", "1 3", "1 4", "2 0", "2 1", "2 3", "2 4", "5 0", "6 0", "10 0", "10 1", "10 2" I have a solution to this which uses a recursive template to walk the list of tokens and build a duplicate sorted list, but it's not efficient (i.e. O(n^2) at minimum). If there is a simple, elegant, efficient solution to this puzzle, I sure would like to see it. My head is sore from the constant banging on my keyboard... thanks, Scott
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] [ANN] Apache FOP 0.95beta Rel, Vincent Hennebert | Thread | RE: [xsl] Tokenized String Sorting , Michael Kay |
[xsl] [ANN] Apache FOP 0.95beta Rel, Vincent Hennebert | Date | RE: [xsl] Tokenized String Sorting , Michael Kay |
Month |