1.冒泡排序是最出名的排序算法之一,总共有八大排序!
2.冒泡排序的算法相对简单,两层循环,外层冒泡轮数,里层以此比较。
如下:
j < array.length - 1-i
的作用:下一轮比较不再重复比较上一轮已经排序好的数。
package com.wang.array;
import java.util.Arrays;
public class ArrayDemo08 {
public static void main(String[] args) {
int[] a = {2,4,1,5,8,2,4,5,2,0};
sort(a);
System.out.println(Arrays.toString(a));
}
//冒泡排序
/*1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
2.每一次比较,都会产生出一个最大,或者最小的数字;
3.下一轮则可以少一次排序!
*/
public static int[] sort(int[] array) {
//定义一个临时变量,用于实现两个数的交换
int temp = 0;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1-i; j++) {
//如果前一个数大于后一个数,就交换两个数的位置
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
}
补充:Java中交换两个数的原理