冒泡排序原理:
数组中有n个元素,每次比较相邻元素,按从小到大进行排列,每趟排序都会将这趟排序的最大值放至相应位置,例如第一趟放至数组末端,第二趟放至倒数第二个,以此类推。整个排序共进行n-1趟排序,每趟排序共进行n-i次。
package j2se.sort;
public class BubbleSort {
public static void main(String[] args) {
//定义数组array并赋值
int[] array = new int[ (int) (Math.random() * 5 + 5)];
for(int i = 0; i < array.length; i++) {
array[i] = (int) (Math.random() * 100 + 1);
}
//输出排序前结果
System.out.println("before sorted:");
for(int i : array) {
System.out.print(i + " ");
}
System.out.println();
//进行排序
array = bubble(array);
//输出排序后结果
System.out.println("after sorted:");
for(int i : array) {
System.out.print(i + " ");
}
}
public static int[] bubble(int[] array) {
if(array.length <= 1) {
return array;
}
int temp = 0;
for(int i = 0; i < array.length; i++) {
for(int j = 1; j < array.length - i; j++) {
if(array[j] < array[j-1]) {
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}
}
}
return array;
}
}