【求助】
1.用c++创建一个含有5个结点的单链表(每个结点的值由键盘输入),并输出。2.并在单链表第四个结点前插入新结点x。下面这个程序有问题吗?
#include
using namespace std;
nodecreat_link(n)
{
nodehead,p,q;
int i;
p=(node)malloc(sizeof(node));head=p;
for(i=1;i<=n;i++);
{q=(node)malloc(sizeof(node));
scanf("%d",&q->data);
q->link=NULL;
p->link=q;p=q;
}
return(head);
}
void outputlist(nodehead)
{
node p;
p=head->link;
while(p->link!=NULL)
{
printf("%6d",p->data);
p=p->link;
}
}
void insert_list(nodehead,int x,int i)
{
nodep,q;
int j=0;
P=head;
While((p!=NULL)&&(j<i-1))
{p=p->link;j++;}
if(p==NULL)return(0);
q=(node)malloc(sizeof(node));
q->data=x;
q->link=p->link;
P->link=p;
}
int main()
{
node*creat_link(5);
outputlist(node head);
insert_list(nodehead,int x,int 4);
outputlist(node *head);
system(“pause”);
return 0;
}