//creaing a linked list
#include <stdio.h>
#include <iostream>
using namespace std;
struct node {
int data;
node *next;
};
node *head = NULL;
node *tail = NULL;
これはこれはこれは私がアドオンでの問題を抱えていたコードの一部であるリンクリストリンクされたリストの後ろに追加しようとしていますが、セグメント化エラーが発生しています。
void Transverse(){
node *temp1 = new node();
temp1 = head;
while(temp1!=NULL){
cout << temp1->data << endl;
temp1 = temp1 ->next;
tail = temp1;
}
}
を横断しますリンクリスト
void addToFront(int insert){
node *temp = new node();
temp->data = insert;
temp->next = head;
head = temp;
}
の前に追加することですバック関数に戻る
void addToBack(int insert){
node * temp = new node();
temp -> data = insert;
temp -> next = NULL;
if(head==NULL){
head=temp;
}
else{
node * temp2= new node();
while(temp2!=NULL){
temp2 = temp2 -> next;
}
temp2->next= temp;
}
}
int main(){
addToBack(4);
addToFront(1);
addToFront(2);
addToFront(3);
addToBack(4);
Transverse();
return 0;
}
は少しのために考えてみてください。 (鉛筆と紙はリンクリストのデバッグに非常に便利です) – molbdnilo
'addToFront'を呼び出してリストの最初のノードを追加するとどうなりますか? 'tail'はどこに向いていますか?実際、 'tail'変数は何のために使うのですか? –
私はテール変数をすべて使用したとは思わない –