2番目の要素としてリスト内に要素を挿入して、元のものを変更せずに新しいリストを作成したいと考えています。2番目の位置にリストを挿入するC++
例: リスト1 2 3 4 5、CIN >> 55、新しいリストが1 55 2 3 4 5
なる問題は、両方のリストが変更されることです。なぜこうなった?
ptr_list insertAfterFirstElem(ptr_list head){
ptr_list tmp;
tmp=new list;
cout<<"Insert value"<<endl;
cin>>tmp->val;
tmp->next=head->next;
head->next=tmp;
return (head);
}
私は正常に動作insertAtTop機能を書いた:
ptr_list insertAtTop(ptr_list head){
ptr_list tmp;
tmp=head;
head=new list;
cout<<"Insert value"<<endl;
cin>>head->val;
head->next=tmp;
return (head);
}
あなたは、この2つの関数の違いは何ですか説明できますか? insertAtTop()が元のリストを変更しないのはなぜですか?
ここで、新しいリストを作成していますか?新しいノードを作成して元のリストに追加しています。 – Bhargava