1 冒泡排序的思想类似气泡上升,数组前后元素两两比较,如果前面的元素比后面的大就交换位置,每趟排序都可以确定最大值的位置
2 选择排序思想类似打擂台,每趟比较都把最小的值排在数组最前面,每趟比较都可以确定最小值的位置
public class SortTest { public static void main(String[] args) { //选择排序 int arr[] = {2,9,10,5,4,8,7,1,3,6}; choose(arr); System.out.println(); //冒泡排序 int arr2[] = {2,9,10,5,4,8,7,1,3,6}; bubble(arr2); } /** * 选择排序 * @param arr */ public static void choose(int arr[]){ for(int i=0;i<arr.length;i++){ for(int j=i+1;j<arr.length;j++){ //每次都将最小的值放在最前面 if(arr[i]>arr[j]){ int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } for(int a:arr){ System.out.print(a+" "); } } /** * 冒泡排序 */ public static void bubble(int arr[]){ for(int i=0;i<arr.length;i++){ for(int j=0;j<arr.length-i-1;j++){ //前后比较,大的值放在后面 if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(int a:arr){ System.out.print(a+" "); } } }
程序运行结果为:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10