Re: Sort into chain
- To: mathgroup at smc.vnet.net
- Subject: [mg45624] Re: Sort into chain
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Fri, 16 Jan 2004 19:57:01 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <bu8ia8$aqj$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, a //. {a___, {s_, t_}, b__, {t_, u_}, c___} :> {a, {s, t}, {t, u}, b, c} ??? Regards Jens Goyder Dr HGD wrote: > > 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.