1

まず、この投稿に返信してくださったすべての皆様に感謝いたします。

第二に、私は他のすべての投稿を調べましたが、私を助けるものは何も見つかりませんでした (申し訳ありませんが、私は C++ を初めて使用します)。

これが私のコードです:

Node* Insert(Node *head,int data) //for linked lists
{
  Node* current = head;
  while(current -> next != NULL){
      current = current -> next;
  }
  cout << head -> data;
  Node *last = new Node();
  last -> data = data;
  last -> next = NULL;
  current -> next = last;
  return head;
}

現在のポインターの次の属性へのアクセスが問題であるように思われますが、その理由はわかりません。Node 構造体には、*next (リンクされたリストの次の項目を指す) と data (ノードのデータ) の 2 つの属性があります。

何が起こっているかについてのアイデアはありますか?

Linuxユーザー

編集: 問題は解決しました - コメントを残してくれたすべての人に感謝します!

残念ながら**pHead、問題は関数の引数を自動入力する Web サイトにあるため、逆参照ソリューションを使用できませんでした。ただし、以下のコメントを使用して、私のような他の初心者 C++ プログラマーのためにこの問題を詳しく説明する簡単なプログラムを作成しました。

Node* Insert(Node *head,int data)
{
    if(head == NULL){
        Node* last = new Node();
        last -> data = data;
        return last;
    }

    Node *current = head;
    while(current -> next != NULL){
        current = current -> next;
    }
    Node *last = new Node();
    last -> data = data;
    last -> next = NULL;
    current -> next = last;
    return head;  
}

よろしく、

Linuxユーザー

4

1 に答える 1