- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单链表基本操作实验
实验2 链表的操作实验内容:1)基础题:编写链表基本操作函数,链表带有头结点(1)CreatList_h()//用头插法建立链表(2)CreateList_t()//用尾插法建立链表(3)InsertList()向链表的指定位置插入元素(4)DeleteList()删除链表中指定元素值(5)FindList()查找链表中的元素(6)OutputList()输出链表中元素2)提高题:(1)将一个头节点指针为heada的单链表A分解成两个单链表A和B,其头结点指针分别为heada和headb,使得A表中含有原单链表A中序号为奇数的元素,B表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。(2)将一个单链表就地逆置。即原表(a1,a2,。。。。。。 an),逆置后新表(an,an-1,。。。。。。。a1)/*程序功能 :单链表基本功能操作编程者 :杨天啸日期 :2016-04-14版本号 :3.0 */#include stdio.h#include stdlib.htypedef struct List{int data; struct List *next; }List;void CreatList_h(List *L) //头插法{int i = 0;int n = 0;int goal;List *p;printf(请输入数据的个数:\n);scanf(%d,n);L - next = NULL;for(i=0;in;i++){printf(请输入第%d个数:\n,i+1);scanf(%d,goal);p = (struct List*)malloc(sizeof(struct List));p - data = goal;p - next = L-next; //将L指向的地址赋值给p;L - next = p;}}void CreateList_t(List *L) //尾插法{int i;int n;int goal;List *p;List *q=L;printf(请输入数据的个数:\n);scanf(%d,n); for (i=0;in;i++) { printf(请输入第%d个数:\n,i+1); scanf(%d,goal); p = (struct List*)malloc(sizeof(struct List)); p - data = goal; q - next = p; q = p; }q - next = NULL;}void InsList(List *L,int i,int e) //插入{ List *s;List *p = L;int j = 0; while (pji-1) { p = p-next; ++j; } s = (struct List*)malloc(sizeof(struct List)); s - data = e; //插入L中 s - next = p - next; p - next = s;return ;}void DeleteList(List*L,int e) //删除{ List *q; List *p = L; while (p-nextp-next-data!=e) { p = p - next; } if (!(p-next)) { printf(不存在该元素!\n); exit(0); }q = p - next; p - next = q-next; e = q - data; free(q);return ;}void FindList(List*L,int e) //查找元素{ int j = 1; List *p = L-next; while (pp-data!=e) { p = p-next; ++j; } if (!p) { printf(不存在该元素!\n); exit(0); }printf(您查找的元素位置为:%d\n,j);return ;}void DisPlay(List *L) //输出链表{ List *p = L-next; printf(您输入的数据为:\n); while (p!=NULL) { printf (%d ,p-data); p = p - next; } printf(\n);}void Inverse(List*L) /
您可能关注的文档
- 七年级上Where did you go on vacation.doc
- 5年级上册英语单词带音标.doc
- 论拟声词声音结构中的边音成分.doc
- 2015春七年级英语下册 Unit 6 If you go to the party, you’ll have a great timeSectionA(1a-2d)教案.doc
- 3.专题三 冠词(含答案).docx
- 外研版五年级英语重点句型和短语复习资料.docx
- GO语言开发环境搭建-LiteIDE.docx
- 外研八下Module2试题.doc
- 足球英语专业词汇.doc
- 2013春版七年级英语(下册)《Unit-2-What-time-do-you-go-to-school?》单元练习题.doc
文档评论(0)