链接列表 - 在列表后面插入元素

时间:2015-01-24 15:23:14

标签: c++

我想编写一个插入列表背面元素的程序。我有以下C ++程序:

#include<iostream>
using namespace std;

typedef struct node {
   int val;
   node * next;
} node;

int main() {
   node * head = NULL;
   int i, v[100];
   for (i=1; i<=5; i++)
   {
       cin >> v[i];
   }
   for(i=1;i<=5;i++) 
   {
       node *temp1=new node;                         
       temp1 = head;                 
       while(temp1->next!=NULL) 
           temp1 = temp1->next;
       node *temp=new node;                          
       temp->val = v[i];                  
       temp->next = NULL;                  
       temp1->next = temp;
   }
   while(head) {
      cout << head->val << " ";
      head = head->next ;
   }
   return 0;
}

问题在于每次我编译它时都会出现分段错误,我不明白为什么。有任何想法吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

当您在temp1->next循环中访问while(temp1->next!=NULL)时,由于temp1分配,NULL已经temp1=head,导致分段错误。< / p>