《链表程序》由会员分享,可在线阅读,更多相关《链表程序(3页珍藏版)》请在金锄头文库上搜索。
1、#include stdafx.h#includestdio.h#includestdlib.h#includealloc.h#includelinklist.htypedef struct linklistElemtype data;struct linklist *next;Linklist;void init_listlist(linklist *head)head=NULL;void cls_linklist(linklist *head)linklist *cp,*np;cp=head;while(cp!=NULL)np=cp-next;free(cp);cp=np;head=NUL
2、L;int length_linklist(linklist *head)linklist *p=head;int i=0;while(p!=NULL)i+;p=p-next;return i;int Empty_linklist(linklist *head)if(head=NULL)return true;elsereturn false;linklist *create_link_tail(linklist *head)linklist *p,*q;int x;q=head;printf(依次输入数据建立单链表,以0结束:n);scanf(%d,&x);while(x!=flag)p=(
3、linklist *)malloc(sizeof(linklist);p-data=x;q-next=p;q=p;scanf(%d,&x);q-next=NULL;return head;int insertlist_after(linklist *head,int i,int x)linklist *s,*p;int j=0;p=head;while(p-next!=NULL & jnext;j+;if(!p | ji) return ERROR;elses=(linklist *)malloc(sizeof(linklist);s-data=x;s-next=p-next;p-next=s
4、;return OK;linklist *delete_linklist(linklist *head,int x)linklist *q,*p;p=head;while(p-next!=NULL & p-data!=x)q=p;p=p-next;if(p=NULL)return NULL;elseq-next=p-next;free(p);return head;linklist *locate_linklist(linklist *head,int x)linklist *p;p=head-next;while(p!=NULL & p-data!=x)p=p-next;return p;void disp_linklist(linklist *head)