リンク リスト プロジェクトを実装していて、ノードを構築するとします。
struct node{
node *prev;
node *next;
int data
};
node *sentinel;
次のようにリストに要素を追加し続ける add() メソッドを使用するたびに:
add(1); //First node
add(2); //Second node
add(3); //Third node
add(4); //Fourth node
add(5); //Fifth node;
追加が完了したら、テストを実行したいので、次のように言います。
node *temp = sentinel->next;
temp は最初の要素を指していますか? 私がしたらどうしますか:
node *temp = (sentinel->next)-next;
現在、temp は 2 番目の要素を指していますか?
はいの場合、なぜですか? そして、その主な目的は何ですか
node *sentinel;
C++ を独学で教え始めたところです。皆さんの回答に本当に感謝します。
Edit:
コンストラクターでセンチネルを次のように初期化します。
私の add() メソッドは次のようなものです。
add(int data, index)
{
sentinel *temp = (sentinel->head); //Lets say temp points to the head of list here.
node *toAdd = new node();
toAdd->data = data;
toAdd->next -> temp;
temp->next = toAdd;
}