BubbleSort
冒泡排序是许多人接触的第一种排序方式,由于这种方式比较简单,所以大部分人也没有深入研究,所以写出的代码是这样的:
其实我想告诉你的是冒泡排序还有三种优化方式:(以下都是以升序为例)
例如要排序下面这组数据: 1 2 3 4 5 6 7 8 10 9
按照上面的排序方式,第一趟将10 与 9交换后已经就有序了,所以接下来的8趟都是多余的。这时我们可以加一个标记来判断每一趟排序时是否交换过数据,如果哪一趟排序没有交换数据,则这时就已经有序了。
这样修改之后虽然提高了冒泡排序的效率,但是还是不是最理想的!!!
例如现在要排序下面这组数据:1 2 5 7 4 3 6 8 9 10
根据上面的算法我们可以写出如下代码:
写成上面这种方式 ,冒泡排序的效率已经得到了极大的提升,下面我们再来介绍第三种优化的方法!!!
对下面这组这组数进行排序:2 3 4 5 6 7 8 9 10 1
根据上面的算法,我们可以写出如下代码: