1.冒泡排序:
冒泡排序是原理最简单的排序,但是他是三种排序算法中效率最低的,他的比较次数和交换数据次数时间复杂度都是O(N²)。
原理:冒泡排序是双重循环,他每次排序都将最大的元素移动到最后一位,比较方式为:0 vs 1,1 vs 2,2 vs 3,。。。直到N-1 vs N,每次比较之后,下次比较不会再去比较上去比较得出的并且移动的最大数据,所以他需要逐条比较。
相应Java代码:
public long[] bubbleSort(long []a){
int out,in;//out外层循环变量,in内层循环变量
int count = 0;//比较次数
int num = 0;//交换次数
int length = a.length;//数组长度
for(out=length-1;out>=1;out--){
for(in=0;in<out;in++){
if(a[in]>a[in+1]){
<