java-se 选择和冒泡排序

1.

public class HelloTest {
    public static void main(String[] args) {
        int[] arr = {1,88,2,32,25,56};
        selectSort(arr);// 88 56 32 25 2 1
        bubbleSort(arr);//1 2 25 32 56 88
    }

    /**
     * 选择排序的特点是: 数组的第一个数字第二个数字。。。与后面所有的数字比较
     * @param arr
     */
    public  static void selectSort(int[] arr){
        for (int i = 0; i < arr.length-1; i++){
            for (int j = i+1; j <arr.length; j++){
               if (arr[j] > arr[i]){
                   int temp = arr[i];
                   arr[i] = arr[j];
                   arr[j] = temp;
               }
            }
        }
        iteratorArr(arr);
    }
    /**
     * 冒泡是相邻的比较大小换位置 arr.length-1 防止数组越位,同时5个数字比试四次就可以了!
     * @param arr
     */
    public static void bubbleSort(int[] arr){
        for (int i = 0; i < arr.length-1; i++){
            for (int j = 0; j < arr.length-1-i;j++){
                if (arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        iteratorArr(arr); 
    }

    public static  void iteratorArr(int[] arr){
        for (int i=0; i< arr.length; i++){
            System.out.println("元素:"+ arr[i]);
        }
    }

 

posted @ 2016-08-23 09:20  黑土白云  阅读(122)  评论(0编辑  收藏  举报