私はcprogramming.comからチュートリアルを読んでいますが、リンクされたリストの例がちょっと残っています。コードは、以下である:0
にリンクリストを理解するチュートリアル
#include <iostream>
using namespace std;
struct node {
int x;
node *next;
};
int main() {
node *root;
node *conductor;
root = new node;
root->next = 0;
(*root).x = 12; // I was testing alt. syntax.
conductor = root;
if(conductor != 0) {
while(conductor->next != 0) {
cout << conductor->x;
conductor = conductor->next;
}
}
conductor->next = new node;
conductor = conductor->next;
conductor->next = 0;
(*conductor).x = 42;
cout << conductor->x;
return 0;
}
root->next
例では設定されています。 conductor
は、root
のアドレスに設定されています。つまり、whileループには決して到達できません。
リンクされたリストの使用を実証していない(つまり、ノードを追加して、それを通り抜ける)場合、この例の目的を理解できません。
コードを正しく解析していますか?
指揮棒==ルートとルート!= 0のため、whileループに達するでしょう。 – weekens
この情報は基本的にはCです。ストリーム。 C++は、コンストラクタと自動メモリ処理を使用して、はるかに優れた構造を持ちます。 –