数据结构课程设计---链表操作
《数据结构课程设计---链表操作》由会员分享,可在线阅读,更多相关《数据结构课程设计---链表操作(16页珍藏版)》请在毕设资料网上搜索。
1、 数据结构数据结构 课程设计报告课程设计报告 题题 目:目: 链表操作链表操作 目目 录录 1. 设计题目 2. 设计目的 3. 设计内容和要求 4. 运行环境(软和硬件) 5. 算法设计的思想 6. 算法流程图 7. 算法设计分析 8. 源代码 9. 运行结果及分析 10. 收获及体会 一、 设计题目 链表的基本操作 二、 设计目的 1掌握线性链表的建立。 2掌握线性链表的基本操作。 三、 设计内容和要求 利用链表的插入运算建立线性链表,然后实现链表的查找、 删除、计数、输出、排序、 逆置等运算, 插入、 删除、查找、 计数、输出、排序、逆置要单独写成函数,并能在屏幕上输 出操作前后的结果。
2、 四、 运行环境(软、硬件环境) Visual C+6.0 Win9x/NT/2000/XP/2003/7 环境下均可以运行。 五、 算法设计的思想 1.数据结构 定义了一个 lian 的结构体int num;struct lian *next;。 2.链表的建立是利用尾插法来完成的; q=(llink)malloc(sizeof(node);q-num=arrayi;q-next=NULL;p-next= q;p=p-next; 3.遍历算法是从头开始遍历,找到了就输出该数,没有就显 示没有找到; 4.计数链表中的节点个数是用一个循环 p-next!=NULL时就 继续计数; 5.链表的输出
3、,通过 p=p-next 一个个进行遍历输出。 6.链表的排序算法,从小到大进行排序,通过循环来达到。 保持 head 结点不变,p 指向第一个结点,q=p-next,p 所指 结点依次和后面的结点比较,比它大则交换,否则继续后移 动 q=q-next; for(i=0;inext; q=p-next; for(j=i+1;jnump-num) temp=p-num; p-num=q-num; q-num=temp; q=q-next; 7.链表的插入llink insert(llink head,llink ptr,int m)和删除llink delet(llink head,llink ptr)设计比较简单没什么技巧 8.链表的倒置输出,保持 head 头结点不动, p 指针指向第一 个结点,p 向后流动,q 指针指向 p 的后一个结点,把 q 所 指结点插在 head 和 p 之间。 p=llist-next;llist-next=NULL; while(p!=NULL) q=p-next; p-next=llist-next; llist-next=p; p=q; 六、 算法的流程图 main 函数 七、 算法设计分析 算法设计较为简单,时间复杂度 O(n*n); 开 始 Choice=1 Choice=6 Choice=5 Choice=4 Choice=2 Cho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 操作
