-3
목록 뒷면의 요소를 삽입하는 프로그램을 작성하고 싶습니다. 나는 다음과 같은 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;
}
문제는 내가 그것을 컴파일 그 때마다이입니다, 그것은 분할 오류 오류를 제공하고 그 이유를 이해하지 않습니다. 어떤 아이디어? 감사합니다. 당신이 당신의 while(temp1->next!=NULL)
루프 temp1->next
액세스 시간으로
헤드가 초기화되지 않습니다. –
두 번째 for-loop의 처음 두 줄은 즉각적인 메모리 누출이며 여러분에게 문제가됩니다. – WhozCraig
@YuchenZhong은 "초기화 됨"의 정의에 따라 다릅니다. 확실히 초기 값을 가지고 있습니다 ('node * head = NULL;'). – WhozCraig