经典排序算法-冒泡与选择

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

  

原文地址:https://www.cnblogs.com/notejava/p/7124219.html