Что я пытаюсь сделать, так это вставить узел со значением в i-ое место связанного списка. Он должен возвращать true, если вставка прошла успешно, в противном случае - false. Я не могу понять, как добавить в начало списка. То, что я пытаюсь, не вставляло. В чем проблема?Почему бы не сменить голову - связанный список реализации
bool insertat(struct Node*head, int value,int loc){
Node *q = new Node;
q->data=value;
if(loc>list_length(head)){
insertlast(head,value);
return true;
}
else if(loc<=0){
cout<<"invalid location";
return false;
}
else if(loc==1){
q->next=head;
head=q;
return true;
}
else{
int i=1;
Node*p =head;
while(i<loc-1){
p=p->next;
i++;
}
q->next=p->next;
p->next=q;
return true;
}
}
Вам необходимо 'BOOL InsertAt (структура Node * & головки, внутр значение, внутр LOC) {' (Обратите внимание на ссылку '' &!). –