69,371
社区成员
发帖
与我相关
我的任务
分享
typedef struct clist
{
int a;
clist *next;
}Clist;
void initiate(Clist **list)
{
if((*list=(Clist *)malloc(sizeof(Clist)))==NULL)exit(1);
(*list)->next=NULL;
}
为何要在链表的的初始化函数的形参中使用指向指针的指针,这样做有什么好处吗?个人非常不习惯此类用法。
void insert(Clist **list,int x)
{
Clist *p;
p=*list;
while(p->next!=NULL)
{
p=p->next;
}
p->a=x;
(*list)->next=p; //插入
}
listInsert(Clist *head,int i,datatype x)
{
Clist *p,*q;
int j;
p=head;
j=-1;
while(p->next!=NULL&&j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("插入位置出错");
return 0;
}
if((q=(Clist *)malloc(sizeof(Clist)))==NULL)exit(1);
q->data=x;
q->next=p->next;
p->next=q;
return 1;
}