in reply to Re^3: Converting Arrays into Matrix
in thread Converting Arrays into Matrix

Dear Rolf
You are right. However, In my case, the order of X and Y will be determined by a second (or nth) different vecor.
What I mean is: There might be an arrays, which will be processed later like
[qw/A B C X K/][qw/A B Y I J/]
This means, that looking vertically at it: The Y comes before the X (right after B whereas the X comes after C) ...
I think, I am doing a really bad job in explaining ... But do you know what I mean?
Greetings, Jan
In another post, I have provided sample data, where the diff algorithm doesnt produce what I expect. I will try and check yours as soon as possible.
Jan

Replies are listed 'Best First'.
Re^5: Converting Arrays into Matrix
by LanX (Saint) on Apr 27, 2011 at 22:47 UTC
    Jan, I know what you mean but I doubt that you are right.

    The sample data you gave us so far is not sufficient to determine a strict order of all elements.

    (update e.g for the data given in Re^3: Converting Arrays into Matrix it's impossible to tell if A or 3 is the first element.)

    And it doesn't make much sense that someone else ordered different subsets in such a way without you already knowing that order.

    Anyway if you're theory is true, there is a pretty straight forward way to calculate this order.

    Check the first element of all sets, if exactly one of them never appears in a higher position you found your alpha-element.

    Now delete alpha from all sets and start again investigating the first elements to detect your beta.

    At the end you either have a strict order in an array @ordered or you've found at least one case of ambiguity of your data.

    Then put @ordered into my algorithm instead of sort keys ... and you've got your matrix.

    Cheers Rolf

      Dear Rolf,
      That was exactly the input I needed. I implemented you suggested algorithm and it gives me a reasonable result...
      Greetings,
      Jan