实验五

简介: 实验五  排序   院 、系  海师计教系  班级 计本二班 学   号  200624101101  姓名  杨振平 完成日期  2007-12-19   源程序名 123.cpp   一、题目 定义一个无序序列,使用插入排序、希尔排序、快速排序及堆排序等各种内部排序方法使之有序。

实验五  排序

 

院 、系

 海师计教系

 班级

计本二班

  

 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

五、调试分析

通过不断的加进函数调试

加深并实现算法的思想

从程序的结果可以清晰看出

对于不同的序列

各种算法的比较和移动次数

目录
相关文章
|
10月前
|
C++
C++程序设计实验4
C++程序设计实验4
75 0
|
10月前
专业课小实验
专业课小实验
|
10月前
|
Web App开发 存储 C++
C++程序设计实验5
C++程序设计实验5
48 0
|
10月前
|
C++
C++程序设计实验8
C++程序设计实验8
68 0
|
10月前
|
存储 C++
C++程序设计实验3
C++程序设计实验3
77 0
|
缓存 Linux
我做了个实验!
这次我们就以 malloc 动态内存分配为切入点,我在文中也做了小实验: • malloc 是如何分配内存的? • malloc 分配的是物理内存吗? • malloc(1) 会分配多大的内存? • free 释放内存,会归还给操作系统吗? • free() 函数只传入一个内存地址,为什么能知道要释放多大的内存?
我做了个实验!
|
关系型数据库 MySQL 索引
我做了一天的实验!
对记录加锁时,加锁的基本单位是 next-key lock,它是由记录锁和间隙锁组合而成的,next-key lock 是前开后闭区间,而间隙锁是前开后开区间。但是,next-key lock 在一些场景下会退化成记录锁或间隙锁。 那到底是什么场景呢?今天,我们就以下面这个表来进行实验说明。
我做了一天的实验!
|
存储 人工智能 BI
实验2
实验2、集合的交、并、差 (1学时) (1)实验目的 通过该实验,进一步让学生熟练掌握循环结构、循环控制条件、分支结构和数组/链表基本操作的实现,掌握函数参数设定的有关内容,体会到用数组存储集合时,需要记录集合元素的个数,否则输出结果会出现数据越界现象。
931 0
|
Web App开发 PHP 数据库
认真一点——实验吧
刚刚做了实验吧的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!!   认真一点!分值:35 来源: 实验吧 难度:难 参与人数:4972人 ...
1961 0
beyond——实验吧
刚刚做了实验吧的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! 永远爱你们的————新宝宝 beyond分值:30 来源: 实验吧 难度:难 参与人数:2381人 Get Flag:381人 答题人数:431人 解题通过率:88%   20世纪70年代可以说是黑客的少年时期,随着技艺的日渐成熟,他们心中那些迷蒙而散乱的思想也逐步成型,昔日凭借本能行事的第一代黑客们开始了由蛹化蝶的进程。
1366 0