还是我!关于链表插入的一个问题。
鱼酥不是叔 2019-02-19 06:18:11 #include<stdio.h>
#include<stdlib.h>
typedef struct nodelist
{
int data;
struct nodelist* next;
}node;
node* list(int n);
node* insert(int n,node* head);
int main
{
int n,i;
node *list1;
scanf("%d",&n);
list1=list(n);
for(i=n;i>0;i--)//while(list1)
{
printf("%d\n",list1->data);
list1=list1->next;
}
list1=insert(n,list1);
for(i=n;i>0;i--)
{
printf("%d\n",list1->data);
list1=list1->next;
}
return 0;
}
node* list(int n)
{
node *head;
node *p,*tem;
int i,k;
head=(node *)malloc(sizeof(node));
head->next=NULL;
scanf("%d",&k);
head->data=k;
tem=head;
for(i=1;i<n;i++)//for(i=0;i<n-1;i++)
{
p=(node *)malloc(sizeof(node));
scanf("%d",&k);
p->data=k;
tem->next=p;
tem=p;
}
p->next=NULL;
return head;
}
node* insert(int n,node* head)
{
int k,i,l;
node *p=head;
printf("please input which one you want to insert before it:");
scanf("%d",&k);
for(i=1;i<=n;i++)
{
if(i==k-1)
{
node *tem=(node *)malloc(sizeof(node));
scanf("%d",&l);
tem->data=l;
tem->next=p->next;
p->next=tem;
}
p=p->next;
}
return head;
}
代码已经过本人调试,无错误和警告。但在进行第二个插入函数到if语句后就无法执行了。萌新求解答!谢谢