(一)冒泡排序原理:【以从小到大排序为列】设数组长度为N
(1)比较前后两个数据,将大的放后面。(if语句)
(2)最开始对数组 从0到N-1进行遍历后------>最大的数据就 ”沉 “到数组的N-1个。
(3)N=N-1;如果N不为0就重复前面两步,否则排序完成。
(二)Java代码实现:
①【最基础的】实现:
②:第一次优化:下面开始考虑优化,如果对于一个本身有序的序列,或则序列后面一大部分都是有序的序列,上面的算法就会浪费很多的时间开销,这里设置一个标志flag,如果这一趟发生了交换,则为true,否则为false。明显如果有一趟没有发生交换,说明排序已经完成。