我已经编写了一个C ++程序来插入已排序的链表 - 给出错误:进程终止状态-1073741510
我使用了双指针这里访问头节点
程序中没有其他错误
#include<iostream>
using namespace std;
struct node
{
int data;
struct node* next;
};
void ins(int d,node** head)
{
node* temp=new node;
node* prev=new node;
temp->next=NULL;
temp->data=d;
if(head==NULL)
{
*head=temp;
}
else
{
node* ptr=*head;
while(ptr!=NULL && ptr->data<d)
{ prev=ptr;
ptr=ptr->next;
}
prev->next=temp;
temp->next=ptr;
}
}
void print(node* head)
{
node* ptr=head;int i=0;
while(ptr!=NULL)
{
cout<<i<<" "<<ptr->data<<" ";
i++;
ptr=ptr->next;
}
}
int main()
{
node* head=NULL;
ins(4,&head);
ins(10,&head);
ins(9,&head);
print(head);
return 0;
}`
答案 0 :(得分:0)
if (head == NULL)
你的错误应该是if (*head == NULL)
,因为头部不应该为空。但这不应该导致流程终止。