实验五
来源:互联网 发布:sql 删除所有表 编辑:程序博客网 时间:2024/04/29 13:38
实验五 排序
院 、系
海师计教系
班级
计本二班
学 号
200624101101
姓名
杨振平
完成日期
2007-12-19
源程序名
123.cpp
一、题目
定义一个无序序列,使用插入排序、希尔排序、快速排序及堆排序等各种内部排序方法使之有序。
二、需求分析
本程序在Windows环境下用用Visual C++编写,完成程序内部排序算法的实现:
三、概要设计
主函数中调用
Bubble_Sort();//起泡排序
InsertSort();//直接插入排序
SelectSort();//简单选择排序
PrintfQuickSort();//快速排序
ShellSort();//希尔排序
HeapSort();//堆排序
6种排序算法函数
四、测试结果
要排序的随机数组是:
106 44 82 98 43 198 3 70 84 170
124 3 87 148 146 86 23 58 18 138
114 15 55 172 113 195 24 192 154 133
52 109 146 58 43 101 192 24 24 112
138 102 70 40 147 186 91 3 192 92
28 126 33 20 2 171 162 10 111 101
172 183 174 186 146 3 189 2 122 142
186 122 114 131 191 73 123 103 113 65
41 148 66 142 126 123 60 144 31 150
70 36 1 77 61 141 146 186 34 176
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
1
*******起泡排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:4950
移动次数为:6927
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
2
*******直接插入排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:2403
移动次数为:2505
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
3
*******简单选择排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:4950
移动次数为:285
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
4
*******快速排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:908
移动次数为:460
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
5
*******希尔排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:1137
移动次数为:884
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
6
*******堆排序*******
排序结果为:
1 2 2 3 3 3 3 10 15 18
20 23 24 24 24 28 31 33 34 36
40 41 43 43 44 52 55 58 58 60
61 65 66 70 70 70 73 77 82 84
86 87 91 92 98 101 101 102 103 106
109 111 112 113 113 114 114 122 122 123
123 124 126 126 131 133 138 138 141 142
142 144 146 146 146 146 147 148 148 150
154 162 170 171 172 172 174 176 183 186
186 186 186 189 191 192 192 192 195 198
比较次数为:939
移动次数为:1170
选择排序方法:1: 起泡排序
2: 直接插入排序
3: 简单选择排序
4: 快速排序
5: 希尔排序
6: 堆排序
7: 退出......
7
Press any key to continue
五、调试分析
通过不断的加进函数调试
加深并实现算法的思想
从程序的结果可以清晰看出
对于不同的序列
各种算法的比较和移动次数
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五
- 实验五:实验报告
- 【实验五】窗口看门狗实验
- 实验五:JPEG编码实验
- 操作系统实验五实验报告
- linux实验五
- 实验五附加
- 实验五、六
- 实验五 数据库完整性
- VM播放视频
- 实验四
- Python modules : os, subprocess and commands
- 在恢复oracle文件时,在Format32 格式硬盘符下,无法恢复生成大于4G文件
- 实验四附加
- 实验五
- 实验五附加
- AWK
- java equals与== 的使用
- 一个人
- 学校超市选址问题
- Asp.net开发性能优化
- 实验一二三命令
- 今天开始一探Linux究竟