私のコードは次のとおりです。私は私が行っている私のコードが、何に新しいノード(105)を追加することに問題を把握しようとしているリンクリスト(C++)の最後にノードを追加しますか? int型メイン内部
node *run=NULL, *head=NULL, *temp=NULL;
for (int x = 1; x <= 10; x++)
{
temp = new node();
temp->value = x*10;
temp->next = NULL;
temp -> prev = NULL;
if (head == NULL)
{
head = temp;
}
else
{
run = head;
while (run->next != NULL)
{
run = run->next;
}
temp -> prev = run;
run->next = temp;
}
}
run = head;
cout << "ORIGINAL:" << endl;
while (run != NULL)
{
printf("%d\n", run->value);
run = run->next;
}
cout << endl << endl;
//=============== ADD AT THE END ========================
int xb = 105; //Value I want to add
run = head;
while (run -> next -> value > xb)
{
run = run -> next;
}
temp = new node();
temp -> prev = run;
temp -> value = xb;
temp -> next = NULL;
run -> next = temp;
run = head;
cout << "ADDED 105:" << endl;
while (run != NULL)
{
printf("%d\n", run->value);
run = run->next;
}
動作しているようです。オリジナルのものは完全に正常に動作し、出力
10 20 30 40 50 60 70 80 90 100
が、挿入するためのコードは、あなたのnew node
は、あなたがそのnext
ポインタを設定初期化すると
10 105
代わりの
10 20 30 40 50 60 70 80 90 100 105
上記のノードを挿入する必要がある管理ポインタを配置するまで、新しいノードを割り当てないでください。 cutlineの下の 'temp'の設定は間違っていて、' temp-> next'は正しく接続しないでください。そして、あなたの投稿には*予期される*シーケンス結果と失敗した結果が含まれていなければなりません。 * prior *の結果は興味深いものですが、実際には関係ありません。 – WhozCraig