幾種排序演算法的java實現

來源:互聯網
上載者:User

標籤:

 1 import java.util.Arrays; 2  3 /** 4  * 各種排序演算法從小到大進行排序 5  */ 6 public class Test { 7  8     public static void main(String args[]) { 9         int[] n = { 5, 2, 3, 4, 1 };10         int[] n1, n2, n3;11         n1 = n2 = n3 = Arrays.copyOf(n, n.length);12 13         System.out.println("原來的數組:");14         printArray(n);15 16         selectionSort(n1);17         System.out.println("\n選擇排序後:");18         printArray(n1);19 20         bubbleSort(n2);21         System.out.println("\n冒泡排序後:");22         printArray(n2);23         24         insertionSort(n3);25         System.out.println("\n插入排序後:");26         printArray(n3);27     }28 29     /** 選擇排序:首先確定的是最小元素 */30     private static void selectionSort(int number[]) {31         for (int i = 0; i < number.length - 1; i++) {32             // 對當前無序區間score[i......length-1]進行排序33             for (int j = i + 1; j < number.length; j++) {34                 if (number[i] > number[j]) {35                     int temp = number[i];36                     number[i] = number[j];37                     number[j] = temp;38                 }39             }40 41         }42     }43 44     /** 冒泡排序:最先確定的是最大的元素 */45     private static void bubbleSort(int number[]) {46         for (int i = 0; i < number.length - 1; i++) {47             // 對當前無序區間score[0......length-i-1]進行排序48             for (int j = 0; j < number.length - i - 1; j++) {49                 if (number[j] > number[j + 1]) {50                     int temp = number[j];51                     number[j] = number[j + 1];52                     number[j + 1] = temp;53                 }54             }55         }56     }57 58     /** 插入排序:不斷將元素插入到已經排好序的資料(注意插入的順序) */59     private static void insertionSort(int[] list) {60         for (int i = 1; i < list.length; i++) {61             int currentElement = list[i];62             // 把list[i]插入到list[0]~list[i-1]之間,這樣list[0]~list[i]就排好序了63             int j;64             for (j = i - 1; j >= 0 && list[j] > currentElement; j--) {65                 list[j + 1] = list[j];66             }67             // 把當前元素插入到list[j+1]68             list[j + 1] = currentElement;69         }70     }71 72     /** 列印數組中的元素 */73     private static void printArray(int number[]) {74         for (int i : number) {75             System.out.print(i + "\t");76         }77     }78 }

運行結果:

幾種排序演算法的java實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.