排序(冒泡排序,直接排序)

輸入一串數字,從大到小排序!

package com.moqi.test;
public class Prog {
    public static void main(String[] args) {
        int[] arr = {2, 34, 3, 22, 43, 4,23, 5, 56, 76};
        System.out.println("排序前:");
        for (int k = 0; k < arr.length; k++) {
            System.out.print(" " + arr[k]);
        }
        System.out.println();
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
           //數學轉化方式,判斷兩個數的大小
                if (arr[i] < arr[j]) {
                    arr[i] = arr[i] + arr[j];
                    arr[j] = arr[i] - arr[j];
                    arr[i] = arr[i] - arr[j];
                }
            }
        }
        System.out.println("排序後:");
        for (int k = 0; k < arr.length; k++) {
            System.out.print(" " + arr[k]);
        }
    }
}

冒泡排序

public class Bubblesort {
    public static void main(String[] args) {
        int[] arr = new int[]{12,34,4,54,67};
        //排序前的數組
        System.out.println("排序前的數組元素爲:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        //冒泡排序法,相鄰兩個元素依次比較大的元素放在右邊小的放在左邊
        for (int j = 1; j < arr.length-1; j++) {
            for (int i = 0; i < arr.length-j; i++) {
                if (arr[i] > arr[i+1]){
                    arr[i] = arr[i] + arr[i+1];
                    arr[i+1] = arr[i] - arr[i+1];
                    arr[i] = arr[i] - arr[i+1];
                }
            }
        }
        System.out.println();
        System.out.println("排序後的數組元素爲:");
        for (int i = 0; i < arr.length ; i++) {
            System.out.print(" " + arr[i] );
        }
    }

直接排序

public class ChooseSort {
    public static void main(String[] args) {
        int[] arr = new int[] {21,2,34,4,54,23};
        System.out.println("排序前的元素順序");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(" "+arr[i]);
        }
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr[i] > arr[j]){
                    arr[i] = arr[i] + arr[j];
                    arr[j] = arr[i] - arr[j];
                    arr[i] = arr[i] - arr[j];
                }
            }
        }
        System.out.println();
        System.out.println("排序後的元素順序");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(" " + arr[i]);
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章