C语言链表基本操作

p->next=NULL; return(p);

}

//创建一个长度为n的线性链表 voidcreat_list(LNode *head,int n) {

LNode *p,*q; inti; p=head;

for(i=1;i<=n;i++)

{

q=(Llist)malloc(sizeof(LNode)); if(NULL==p)

printf(\内存申请失败!\

}

else {

printf(\data:\q->next=NULL; p->next=q; p =q;

}

}

}

//插入一个元素

voidinsert_list(LNode *head,intx,inti ) {

int j=0;

LNode *p,*s; p=head;

while((p!=NULL)&&(j

{ }

if(p==NULL) exit(0);

s=(Llist)malloc(sizeof(LNode));

if(NULL==p)

printf(\内存申请失败!\p=p->next; j++;

else {

s->data=x;

}

}

s->next=p->next; p->next=s;

//删除一个元素

intdelete_list(LNode *head,inti) {

LNode *p,*q;

int j=0; int x; p=head;

while((p!=NULL)&&(j

{ }

if(p==NULL) exit(0); q=p->next;

p->next=q->next; x=q->data;

p=p->next; j++;

}

free(q); q=NULL; return(x);

//删除整个链表

voiddelete_whole(LNode *head) { }

//倒置链表

void reverse(LNode *head) {

LNode *p,*s,*t; p=head; LNode *p,*q; p=head; while(p!=NULL) { }

q=p->next; free(p); p=q;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4