数据结构实验资料

上传人:f****u 文档编号:109691239 上传时间:2019-10-27 格式:DOC 页数:28 大小:876.15KB
返回 下载 相关 举报
数据结构实验资料_第1页
第1页 / 共28页
数据结构实验资料_第2页
第2页 / 共28页
数据结构实验资料_第3页
第3页 / 共28页
数据结构实验资料_第4页
第4页 / 共28页
数据结构实验资料_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数据结构实验资料》由会员分享,可在线阅读,更多相关《数据结构实验资料(28页珍藏版)》请在金锄头文库上搜索。

1、实验1 单链表成绩专业班级 信息131班 学号 201312030131 姓名 朱潇翔 报告日期 2015.11.10实验类型:验证性实验 综合性实验 设计性实验实验目的或任务:通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。实验教学基本要求:1.了解实验目的及实验原理;2.编写程序,并附上程序代码和结果图;3.总结在编程过程中遇到的问题、解决办法和收获。实验教学的内容或要求:1.编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表(无序)2.编写函数,实现遍历单链表3.编写函数,实现把

2、单向链表中元素逆置4.编写函数,建立一个非递减有序单链表5.编写函数,利用以上算法,建立两个非递减有序单链表,然后合并成一个非递减链表。6.编写函数,在非递减有序单链表中插入一个元素使链表仍然有序7.编写函数,实现在非递减有序链表中删除值为x的结点8.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法实验开出要求:必做实验所需仪器设备:1.计算机2.相关软件(如C,C+,PASCAL,VC,DELPHI等等)实验所用材料:计算机耗材实验内容:1.编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表(无序)/*头插法,得到结果与输入元素顺序相反*/#include #i

3、nclude typedef structchar data;struct Node * next;Node, *LinkList;LinkList CreateFromHead();int main()LinkList L, p;L = CreateFromHead();p = L-next;/*输出单链表*/doprintf(-%c, p-data);p = p-next; while (p != NULL);printf(n);system(pause);return 0;/*头插法*/LinkList CreateFromHead()char c;int flag = 1;Node *

4、s;Node *L;L = (LinkList)malloc(sizeof(Node);L-next = NULL;while (flag)c = getchar();if (c != n)s = (Node *)malloc(sizeof(Node);s-data = c;s-next = L-next;L-next = s;elseflag = 0;return L;/*尾插法,得到结果与输入元素顺序相同*/#include #include typedef structchar data;struct Node * next;Node, *LinkList;LinkList Create

5、FromHead();int main()LinkList L, p;L = CreateFromHead();p = L-next;/*输出单链表*/doprintf(-%C, p-data);p = p-next; while (p != NULL);printf(n);system(pause);return 0;/*尾插法*/LinkList CreateFromHead()char c;int flag = 1;Node *s;Node *L, *r;L = (LinkList)malloc(sizeof(Node);L-next = NULL;r = L;while (flag)c

6、 = getchar();if (c != n)s = (Node *)malloc(sizeof(Node);s-data = c;r-next = s;r = s;elseflag = 0;r-next = NULL;return L;2.编写函数,实现遍历单链表#include #include typedef structchar data;struct Node * next;Node, *LinkList;LinkList CreateFromHead();int ListLength(LinkList L);int main()LinkList L, p;int len;L =

7、CreateFromHead();len = ListLength(L);p = L-next;/*输出单链表*/doprintf(-%c, p-data);p = p-next; while (p != NULL);printf(n此单链表的长度为:len=%dn, len);system(pause);return 0;/*尾插法*/LinkList CreateFromHead()char c;int flag = 1;Node *s;Node *L, *r;L = (LinkList)malloc(sizeof(Node);L-next = NULL;r = L;while (flag

8、)c = getchar();if (c != n)s = (Node *)malloc(sizeof(Node);s-data = c;r-next = s;r = s;elseflag = 0;r-next = NULL;return L;/*通过求链表的长度遍历链表*/int ListLength(LinkList L)int len = 0;Node *p;p = L-next;while (p != NULL)len+;p = p-next;return len;3、编写函数,实现把单向链表中元素逆置#include #include /*建立双向链表*/typedef struct

9、char data;struct Node *next;Node, *LinkList;LinkList CreateFromTail();LinkList inversePermutation(LinkList L);int main()LinkList L;Node *p;L = CreateFromTail();L = inversePermutation(L);p = L-next;/*输出单链表*/doprintf(-%c, p-data);p = p-next; while (p != NULL);printf(n);system(pause);return 0;/*尾插法*/Li

10、nkList CreateFromTail()char c;int flag = 1;Node *s;Node *L, *r;L = (LinkList)malloc(sizeof(Node);L-next = NULL;r = L;while (flag)c = getchar();if (c != n)s = (Node *)malloc(sizeof(Node);s-data = c;r-next = s;r = s;elseflag = 0;r-next = NULL;return L;/*头插法实现单链表逆置*/LinkList inversePermutation(LinkList

11、 L)Node *p, *s;p = L-next;L-next = NULL;while (p != NULL)s = p-next;p-next = L-next;L-next = p;p = s;return L;4.编写函数,建立一个非递减有序单链表#include #include /*建立单链表*/typedef structchar data;struct Node *next;Node, *LinkList;LinkList CreateFromTail();LinkList sortAscend(LinkList L);int main()LinkList L;Node *p

12、;L = CreateFromTail();L = sortAscend(L);p = L-next;/*输出单链表*/doprintf(-%c, p-data);p = p-next; while (p != NULL);printf(n);system(pause);return 0;/*尾插法*/LinkList CreateFromTail()char c;int flag = 1;Node *s;Node *L, *r;L = (LinkList)malloc(sizeof(Node);L-next = NULL;r = L;while (flag)c = getchar();if (c != n)s = (Node *)malloc(sizeof(Node);s-data = c;r-next = s;r = s;elseflag = 0;r-next = NULL;return L;/*实现单链表元素

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号