Sort will produce the same result for both arrays. ]A=:4 4$3 2 1 0 1 0 3 2 2 3 0 1 0 0 0 0 3 2 1 0 1 0 3 2 2 3 0 1 0 0 0 0 ]B=:4 4$2 3 0 1 3 2 1 0 1 0 3 2 0 0 0 0 2 3 0 1 3 2 1 0 1 0 3 2 0 0 0 0 (/:~A) -: /:~B 1
Ben ________________________________________ From: [email protected] [[email protected]] on behalf of Jon Hough [[email protected]] Sent: Thursday, July 10, 2014 10:07 To: [email protected] Subject: [Jprogramming] Comaring Arrays The following two 4x4 arrays are rearrangements of each other's rows. 3 2 1 0 1 0 3 2 2 3 0 1 0 0 0 0 2 3 0 1 3 2 1 0 1 0 3 2 0 0 0 0 I would like to know a way to acknowledge two arrays as being rearrangements of each other. Eventually my goal is to compare long lists of such arrays and nub out duplicates - duplicates being rearrangements. The only way I can think to do this is to cycle through all permutations of the row of one of the arrays and test for equality with the other array, using A. . Of course, there are 24 permutations to test for 4x4 arrays, but obviously for bigger arrays things get worse. Is there a faster way to check two arrays are (ignoring row permutations) equivalent? ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
