Note that there are some explanatory texts on larger screens.

plurals
  1. POSorting Doubly Linked List C++
    primarykey
    data
    text
    <blockquote> <p><strong>Possible Duplicate:</strong><br> <a href="https://stackoverflow.com/questions/1382273/sorting-a-doubly-linked-list-c-question">Sorting a Doubly Linked List C++ Question</a> </p> </blockquote> <p>as of right now the sort function that I have only sorts 1 node out of the many. </p> <p>I need this function disregard the node that is sorted only after it is printed. </p> <p>I've tried removing the node so that it is not considered twice for the sort, because It will keep printing that same sorted node over and over again. That didnt work so here i am.</p> <p>This is defined and its where I call my sorting function. It has one node *Paramater and returns a node.</p> <pre><code>void list::displayByName(ostream&amp; out) const { node *current_node = headByName; // is @the head of the list node *evil_node = tail; while ( current_node != NULL ) { current_node = sort( current_node ); out &lt;&lt; current_node-&gt;item.getName() &lt;&lt; endl; } } </code></pre> <p>Defined as a private function of my list class.</p> <pre><code>list::node * const list::sort( node *given_node ) const { node *least_found_node = NULL; node *current_node = given_node-&gt;nextByName; while ( current_node &amp;&amp; current_node != given_node ) // while current_node != NULL and.. { if ( strcmp( current_node-&gt;item.getName(), given_node-&gt;item.getName() ) &lt; 0 ) { if ( least_found_node == NULL || ( strcmp( least_found_node-&gt;item.getName(), current_node-&gt;item.getName() ) &gt; 0 ) ) { least_found_node = current_node; } } current_node = current_node-&gt;nextByName; } return least_found_node; // return that sorted node } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload