Note that there are some explanatory texts on larger screens.

plurals
  1. POcircular linked list problem in c++
    text
    copied!<p>Why doesn't my linked list code work? It has no problem with 4 notes, but when I get to 5 the sorted linked list seems to hang. Does it not know where to append and place the new node? </p> <p>I mean,for example the first data is a name starts with letter A, and the second start with D and the 3rd start with C.. but when i enter for the 5th, letter I or K.. my system like hang or something..</p> <h3>Node</h3> <pre><code>Node * next; Node * prev; userData * data; </code></pre> <h3>List</h3> <pre><code>Node * start; Node * end; </code></pre> <h3>Function that ads a new node in alphabetical order</h3> <pre><code>void addUserData(userData * data){ string name = data-&gt;getName(); Node* node = new Node(data); if(isEmpty()){ start = node; end = node; start-&gt;Next(end); end-&gt;Prev(start); return; } else if(!isEmpty() &amp;&amp; start == end){ node-&gt;Next(start); node-&gt;Prev(start); start-&gt;Next(node); start-&gt;Prev(node); end = node; if(start-&gt;getUserData()-&gt;getName().compare(node-&gt;getUserData()-&gt;getName())&gt;0){ end = start; start = node; } return; } else{ Node *temp = start; if(name.compare("N") &lt; 0){ while(temp-&gt;getNext()-&gt;getNext()!=NULL &amp;&amp; name.compare(temp-&gt;getNext()-&gt;getUserData()-&gt;getName())&gt;0){ temp = temp -&gt;getNext(); } } else{ temp = end; while(name.compare(temp-&gt;getUserData()-&gt;getName())&lt;0){ temp = temp -&gt;getPrev(); } } if(name.compare(temp-&gt;getUserData()-&gt;getName())&gt;0){ node -&gt;Next(temp-&gt;getNext()); node -&gt;Prev(temp); temp-&gt;Next(node); node-&gt;getNext()-&gt;Prev(node); if(name.compare(end-&gt;getUserData()-&gt;getName())&gt;0){ end = node; } }else if(name.compare(temp-&gt;getUserData()-&gt;getName())&lt;0){ node-&gt;Next(temp); node-&gt;Prev(temp-&gt;getPrev()); temp-&gt;getPrev()-&gt;Next(node); temp-&gt;Prev(node); if(name.compare(start-&gt;getUserData()-&gt;getName())&lt;0){ start = node; } }else{ cout&lt;&lt;"Name already exist\n"; } } } </code></pre>
 

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