首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

基礎練習:數列排序演算法實作與解析

     編輯:Java 綜合教學

基礎練習:數列排序演算法實作與解析

在程式設計的入門階段,數列排序是最經典且基礎的練習題目之一。這道題目要求將一個長度為 n 的整數數列,依照從小到大的順序進行排序輸出。雖然現代程式語言都內建了高效的排序函式,但理解其背後的邏輯與實作方式,對於建立扎實的演算法基礎至關重要。

題目需求與限制條件

  • 輸入規範:第一行為整數 n (1 ≤ n ≤ 200),第二行包含 n 個整數,每個整數的絕對值小於 10,000。
  • 輸出規範:輸出一行,依照遞增順序輸出排序後的數列,數字之間以空格分隔。
  • 範例:輸入 5 以及 8 3 6 4 9,輸出應為 3 4 6 8 9。

Java 參考解法

利用 Java 標準庫 Arrays.sort() 即可輕鬆解決,該方法底層採用雙軸快速排序,對於 n ≤ 200 的小規模資料效能極佳。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextInt()) {
            int n = scan.nextInt();
            int[] arr = new int[n];
            for (int i = 0; i < n; i++) {
                arr[i] = scan.nextInt();
            }
            Arrays.sort(arr);
            for (int i = 0; i < n; i++) {
                System.out.print(arr[i] + " ");
            }
            System.out.println();
        }
    }
}

延伸思考

若在面試或競賽中被要求「手寫排序」,建議掌握快速排序或合併排序,兩者平均時間複雜度均為 O(n log n),且合併排序具備穩定性。對於極小規模資料,插入排序反而因常數因子小而更快。理解各種排序的適用場景,才是演算法學習的核心價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved