算法与数据结构动态链表.doc_第1页
算法与数据结构动态链表.doc_第2页
算法与数据结构动态链表.doc_第3页
算法与数据结构动态链表.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#includetypedef int elemtype;typedef struct node elemtype data; struct node*next;LinkList;LinkList*head;LinkList*creat_LinkList() /建立链表 elemtype ix; LinkList*jl,*p;head=(LinkList*)malloc(sizeof(LinkList);head-next=NULL;printf(请输入数据,输入0结束:n);scanf(%d,&ix);while(ix!=0) p=(LinkList*)malloc(sizeof(LinkList); p-data=ix;p-next=head-next;head-next=p;scanf(%d,&ix);return(jl);int LinkList_Length(LinkList*head) /表长 int j=0; LinkList*p=head;while(p-next!=NULL) p=p-next; j+;return j;void Search_LinkList(LinkList*head,int key) /查找 int imark=1;LinkList*p; p=head-next;while(p!=NULL)if(p-data!=key) p=p-next;imark+; else break;if(p=NULL)printf(查找失败n);else printf(查找的值在第%d位,imark);Insert( LinkList* head, int h, int i ) /在链表第 i 个结点处插入新元素 / int k = 1; LinkList * p = head-next; LinkList *L;L =(LinkList*) malloc (sizeof (LinkList); L-data=h; if(i=1) L-next=head-next; head-next=L; while ( p != NULL & k next; k+; if( p = NULL) printf(位置错误n);else L-next=p-next; p-next=L; printf(插入成功n); void print_LinkList(LinkList*head) /输出 int k;LinkList*p=head-next; while(p!=NULL) printf(t%d,p-data); p=p-next; k+; if(k%5=0)printf(n);void deleteno_LinkList(LinkList*head,int i) /删除 int k = 1; LinkList * p = head-next,*r; if(i=1) head-next=p-next; free(p); printf(删除成功!n); while ( p-next!= NULL & k next; k+; if(p-next=NULL) printf(删除的位置不存在!n); else r=p-next; p-next=r-next; free(r); printf(删除成功!n); void main() int key,x,sc,ids,i,h,m; LinkList *p,*jl; for(;) system(cls);printf(请选择操作:ntttt1-输入数据ntttt2-输出表长ntttt3-查找数据ntttt4-插入数据ntttt5-输出数据ntttt6-删除数据ntttt7-退出系统n); scanf(%d,&ids);if(ids=1)creat_LinkList(jl);printf(n按任意键n);getch();else if(ids=2) printf(表长为:%dn,LinkList_Length(head);printf(n按任意键n);getch();else if(ids=3)printf(请输入要查找的值:n); scanf(%d,&key); Search_LinkList(head,key);printf(n按任意键n);getch();else if(ids=4) printf(输入插入的位置及数据n); scanf(%d%d,&i,&h);Insert(head,h,i);printf(n按任意键n); getch(); else if(ids=5) print_LinkList(head);printf(n按任意键n); getch();else if(ids=6) prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论