The problem i got now is the following, and i'd REALLY be grateful if someone could assist me with this. Lets say i have 6 nodes and the long link is 3, then 1 points to 2 and 4, 2 points to 3 and 5, 3 points to 4 and 6 etc .....
When i delete node 1 and 2, then nodes 4 and 5 are longlinking back to 0 (for some reason). Can someone help me please? Code is here:

Code:
node *newnode = current;
node *temp = current; 
node *start = current;
node *longlinker = current;
int number = 0; 


for (int i = 1; i < length; i++)
      {
      temp = temp -> shortlink;
      }

if (newnode -> num == x)
{
start = start -> shortlink;
number = current -> longlink -> num;
current = current -> shortlink;
temp -> shortlink = start; 
delete newnode;
length--;
cout << "longlink for 1 is"  << number << endl;
}
else

for (int p = 1 ; p < length; p++)
{
if (newnode -> shortlink -> num == x)
{
		temp = newnode -> shortlink;
		number = temp -> longlink -> num;
		newnode -> shortlink = newnode -> shortlink -> shortlink;
		delete temp;
		length--;
}

else 
newnode = newnode -> shortlink;
}

Last edited by coolio2006; 27Aug2006 at 08:07..