快速排序、冒泡排序和插入排序算法 实验笔记5(计算机软件基础)

一、实验目的和要求
目的:熟练掌握快速排序、冒泡排序和插入排序算法。
要求:编写程序实现对给定序列排序,要求分别完成对序列的快速排序、冒泡排序和插入排序,并输出排序结果。

二、实验内容
(1)快速排序
基本思想是:

  1. 先从数列中取出一个数作为基准数。
  2. 分区过程 ,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
  3. 再对左右区间重复第二步,直到各区间只有一个数。

简单来说,快速排序就是在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。

(2)冒泡排序
基本思想是:

  1. 从数组头部开始,不断比较相邻的两个元素的大小,通过交换两个元素的值让较大的元素逐渐往后移动,直到数组的末尾。经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。
  2. 第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。经过第二轮的比较,就可以找到次大的元素,并将它放到倒数第二个位置。
  3. 以此类推,进行 n-1(n 为数组长度)轮“冒泡”后,就可以将所有的元素都排列好。

(3)插入排序
插入排序的的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排序好的数据。

换句话说,插入排序就是将数组里面的第一个数当作有序的,往后的每一个数都和有序数组里面的每一个数作比较,找到合适的位置插入,结果仍然是有序的。

三、依据的基本原理
程序首先设置一个大小为10的列表,用swich语句让用户选择三种排序方法:

  1. 冒泡排序
  2. 插入排序
  3. 快速排序
  4. 如果用户没有输入1,2,3的其中一个数字,则返回”输入错误”

四、实验步骤
冒泡排序算法的步骤如下:

比较相邻的元

猜你喜欢

转载自blog.csdn.net/zbp_12138/article/details/103320877