package ArrayUse;
/**
* 冒泡排序
* 1 比较相邻的两个元素,如果第一个比第二个大就交换位置
* 2 对每一对相邻的元素做相同的工作,从第一队一直比较到最后一对,比较一轮结束后,最后一个元素一定是最大的
* 3 针对所有元素,重复上面的步骤,除了最后一个元素
* 4 持续循环中,比较次数越来越少,一直剩下一个数据(没有一对了,只有一个了),比较结束
*
* 实现:
* 1 嵌套循环,因为循环一次只能查询处一个最大或者最小
* 2 因为每次循环之后,最后一个不需要比较,所以每次循环,循环的次数都会减1,所以内存循环的循环次数取决于外层
* 3 需要一个临时变量交换数据
*/
public class Array_06 {
public static void main(String[] args) {
int[] a = {3,2,4,6,1};
bubbleSort(a);
for(int i:a) {
System.out.println(i);
}
}
public static void bubbleSort(int[] a) {
//外层循环,决定循环的轮数
for(int i = 0;i < a.length-1;i++) {
//内层循环,决定每轮循环的次数
for(int j = 0;j < a.length-i-1;j++) {
if(a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
}
数组简单应用——冒泡排序法——恋天小结
最新推荐文章于 2020-11-12 19:31:54 发布