一、冒泡排序
原理
冒泡排序是一种简单的交换类排序方法,能够将相邻的数据元素进行交换,从而逐步将待排序序列变成有序序列。冒泡排序的基本思想是:从头扫描待排序记录序列,在扫描的过程中顺次比较相邻两个元素的大小。
下面以升序为例介绍排序过程:
1.在第一趟排序中,对n个记录进行如下操作。
①对相邻的两个记录的关键字进行比较,逆序时就交换位置。
②在扫描的过程中,不断向后移动相邻两个记录中关键字较大的记录。
③将待排序记录序列中的最大关键字记录交换到待排序记录序列的末尾,这也是最大关键字记录应在的位置。
2.进行第二趟冒泡排序,对前n-1个记录进行同样的操作,其结果是使次大的记录被放在第n-1个记录的位置上。
3.继续进行排序工作,在后面几趟的升序处理也反复遵循了上述过程,直到排好顺序为止。如果在某一趟冒泡过程中没有发现一个逆序,就可以马上结束冒泡排序。整个冒泡过程最多可以进行n-1趟。
动画演示过程
Go语言描述
冒泡排序法运行效率较低,但概