标签:
tepedef struct Node{ int date; struct Node *next; } List; //创建一个链表 void CreatList(List **ptrl) { (**ptrl)=(List*)malloc(sizeof(List)); (*List)->next=NULL; } //求长度 int length(List *ptrl) { List *p=ptrl; int j=0; while(p) { p=p->next; j++; } return j; } //按序号查找 int FindList(List *ptrl,int k) { List *p=ptrl; int i=1; while(p!=NULL&&i<k) { p=p->next; i++ } if(i=k) return p; else return NULL; } //按值查找 List *Find(int x,List *ptrl) { List *p=ptrl; while(p!=NULL&&p->date!=x) p=p->next; return p; } //链表的插入 List* InsertList(int *e,List *ptrl,int i) { List *p,*s; if(i==1)//插入的元素在表头 { s=(List*)malloc(sizeof(List)); s->date=x; s->next=ptrl; return s; } p=Find(i-1,ptrl)//如果要插入的元素为空则返回 if(p==NULL) { printf("canshucuowu"); return NULL; } else { s=(List*)malloc(sizeof(List));//插入操作 s->date=x; s->next=p->next; p->next=s; return ptrl; } } //链表的删除 List* DelseteList(int *e,List *ptrl,int i,) { List *p,*s; if(i==1) { s=ptrl; if(ptrl!=NULL) ptrl=ptrl->next; else ruturn NULL; free(s); return ptrl; } p=Find(i-1,ptrl) if(p==NULL) { printf("bucunzia1"); return ; } else { s=p->next; p->next=s->next; free(s); } }
标签:
原文地址:http://blog.csdn.net/u012878380/article/details/44780661