Sort into chain
- To: mathgroup at smc.vnet.net
- Subject: [mg45605] Sort into chain
- From: Goyder Dr HGD <h.g.d.goyder at cranfield.ac.uk>
- Date: Fri, 16 Jan 2004 06:05:23 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Dear Mathgroup, How do I sort a list of pairs, for example, a = {{3, 1}, {2, 6}, {7, 3}, {8, 7}, {10, 8}, {6, 11}, {12, 10}, {11, 14}, {15, 12}, {14, 18}, {19, 15}, {18, 20}, {20, 19}, {1, 2}}; Into a list where the second entry in each pair is the same as the first entry in the next pair. Thus the effect of the sort will give {{18, 20}, {20, 19}, {19, 15}, {15, 12}, {12, 10}, {10, 8}, {8, 7}, {7, 3}, {3, 1}, {1, 2}, {2, 6}, {6, 11}, {11, 14}, {14, 18}} The first pair is not important because the pairs form a circular chain. I have tried Sort[a, (#1[[2]] == #2[[1]]) &] but the answer is {{1, 2}, {20, 19}, {14, 18}, {18, 20}, {19, 15}, {15, 12}, {6, 11}, {11, 14}, {12, 10}, {10, 8}, {8, 7}, {7, 3}, {2, 6}, {3, 1}} which has a few correct entries but is not finished. I wondered if the difficulty was due to the circular nature of the chain but if you break the chain by dropping one pair it still does not work. Thanks for any assistance Hugh Goyder -- This message has been scanned for viruses and dangerous content by the Cranfield MailScanner, and is believed to be clean.