MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.


  • Prev by Date: Re: Wolfram Functions Site
  • Next by Date: Who find a better fit of this experimental data?
  • Previous by thread: Re: Graphics positioning
  • Next by thread: Re: Sort into chain