1. 程式人生 > >經典排序算法-冒泡與選擇

經典排序算法-冒泡與選擇

main class sta 冒泡 oos 冒泡排序 選擇 運行 結果

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

  

經典排序算法-冒泡與選擇