冒泡排序
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
第一次比较排序的结果:会把其中最大的数据排到最大的索引处
第二次比较排序后的结果:因为第一次已经把最大的一个数据放到了最大的索引的地方,所以这次要进行比较的数据比数组里面的元素的数据个数-1个,而第二大的数据也会排到第二大的索引处
第三次比较排序的结果:跟第二次差不多,只是这次要进行比较的数据比数组里面的元素的数据个数还少了2个,
第四次:少3个...
综上所述,要使数组里面的数据按照从小到大排序,总的比较的次数会比数组的长度-1次,而随着比较的次数的增加,每次要进行比较的数据依次减少。
public class Demo {
public static void main(String[] args) {
【冒泡排序】int number[]={49,38,65,97,76,13,27,14,10};
for(int i=0;
i
int tmp = number[j];
number[j] = number[j+1];
number[j + 1] = tmp;
}
}
for (int j = 0;
j < number.length;
j++) {
System.out.print(number[j] +"\t");
}
System.out.println("排序"+(i+1)+"次后的结果");
}
}
}
推荐阅读
- 一个选择排序算法
- 排序(归并排序)
- 【图解】9张图彻底搞懂堆排序
- vue|vue 上移 下移 删除 排序
- 必须掌握的八种基本排序算法
- 【排序】插入排序算法
- 排序之冒泡和选择
- 2019-03-02|2019-03-02 排序
- Java数据结构与算法(十)排序算法01
- 不为人知的排序和筛选用法