《数据结构和算法分析》课程设计:顺序表、单链表、顺序栈、查找、排序算法 下载本文

内容发布更新时间 : 2024/11/20 22:31:30星期一 下面是文章的全部内容请认真阅读。

*******大学

《数据结构与算法分析》课程设计

题 目:数据结构上机试题 学生姓名: 学 号:

专 业:信息管理与信息系统 班 级: 指导教师:

2014年04月

《数据结构和算法分析》课程设计:顺序表、单链表、顺序栈、查找、排序算法

目录

一、顺序表的操作 ...................................................................................................................... 3

【插入操作原理】 ................................................................................................................... 3 【删除操作原理】 ................................................................................................................... 3 【NO.1代码】 .......................................................................................................................... 4 【运行截图演示】 ................................................................................................................... 8

二、单链表的操作 .................................................................................................................... 11

【创建操作原理】 ................................................................................................................. 11 【插入操作原理】 ................................................................................................................. 11 【删除操作原理】 ................................................................................................................. 11 【NO.2代码】 ........................................................................................................................ 12 【运行截图演示】 ................................................................................................................. 21

三、顺序栈的操作 .................................................................................................................... 26

【数值转换原理】 ................................................................................................................. 26 【NO.3代码】 ........................................................................................................................ 27 【运行截图演示】 ................................................................................................................. 31

四、查找算法 ............................................................................................................................. 33

【顺序查找原理】 ................................................................................................................. 33 【折半查找原理】 ................................................................................................................. 33 【NO.4代码】 ........................................................................................................................ 34 【运行截图演示】 ................................................................................................................. 39

五、排序算法 ............................................................................................................................. 41

【直接插入排序原理】 ......................................................................................................... 41 【快速排序原理】 ................................................................................................................. 41 【NO.5代码】 ........................................................................................................................ 42 【运行截图演示】 ................................................................................................................. 47

2 / 49

《数据结构和算法分析》课程设计:顺序表、单链表、顺序栈、查找、排序算法

一、顺序表的操作

(1)插入元素操作:将新元素x插入到顺序表a中第i个位置; (2)删除元素操作:删除顺序表a中第i个元素。

【插入操作原理】

线性表的插入操作是指在线性表的第i-1个数据元素和第i个数据元素之间插入一个新的数据元素,就是要是长度为n的线性表:

?a1,……,ai?1,ai,……,an?

变成长度为n+1的线性表:

?a1,……,ai?1,b,ai,……,an?

数据元素ai?1和ai之间的逻辑关系发生了变化。

(其【插入原理】在课本P23的算法2.3有解释)

【删除操作原理】

反之,线性表的删除操作是使长度为n的线性表:

?a1,……,ai?1,ai,ai?1,……,an?

变成长度为n-1的线性表:

?a1,……,ai?1,ai?1,……,an?

数据元素ai?1、ai和ai?1之间的逻辑关系发生变化,为了在存储结构上放映这个变化,同样需要移动元素。

(其【删除原理】在课本P24的算法2.4有解释)

3 / 49