спасибо, я уже разобрался, надо было ещё добавить такую функцию:
Код:
void delete_random_node()
{
if (!count) return;
if(count==1){
delete start_ptr;
start_ptr=NULL;
count--;
return;
}
node *temp1, *prev;
int node=rand()%count;
int i=0;
cout << "Deleting " << node << " node."<<endl;
if(node==0){
temp1=start_ptr;
start_ptr=temp1->nxt;
delete temp1;
count--;
return;
}
else
{
temp1=start_ptr;
while(1)
{
if(i++==node)
{
if(temp1->nxt!=NULL)
prev->nxt=temp1->nxt;
if(node+1==count){
prev->nxt=NULL;
}
delete temp1;
count--;
return;
}
prev = temp1;
temp1=temp1->nxt;
}
}
}