I need an algorithm for determining the order of a list of items, based on their occurrence in a file, without knowing the elements of the list ahead of time. The list is repeated multiple times in the file, but each time some elements may be missing. Order is always preserved. Each instance of the list in the file has a start marker. Here is an example list:
Alpha
Beta
Gamma
Delta
Epsilon
Zeta
If each list instance is marked with Start, here is an example sequence in a file:
Start
Alpha
Beta
Start
Epsilon
Zeta
Start
Beta
Gamma
Zeta
Start
Alpha
Gamma
Delta
Epsilon
After I read the file, I just need to dump the list in order. It is possible that some files may be indeterminate. For example, given:
Start
Alpha
Beta
Start
Alpha
Gamma
the order of Beta and Gamma cannot be determined. I just need to make note of this, issue a warning, and then assign an arbitrary order.
I'm not looking for working code, just some ideas to get started.
-QM
--
Quantum Mechanics: The dreams stuff is made of
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|