📊 陣列學習指南

← 返回學習中心

什麼是陣列?

陣列(Array)是一種線性資料結構,用於儲存相同類型的元素集合。陣列中的元素在記憶體中連續存放,可以透過索引快速存取。

陣列是程式設計中最基本也最常用的資料結構之一,幾乎所有程式語言都內建支援陣列。

陣列的特性

時間複雜度

隨機存取
O(1)
搜尋
O(n)
插入(末端)
O(1)
刪除(末端)
O(1)
插入(中間)
O(n)
刪除(中間)
O(n)

程式碼範例

C++ 範例

#include <iostream>
#include <array>
using namespace std;

int main() {
    // 靜態陣列
    int arr[5] = {1, 2, 3, 4, 5};
    
    // 動態陣列 (std::array)
    array<int, 5> arr2 = {10, 20, 30, 40, 50};
    
    // 存取元素
    cout << "第一個元素: " << arr[0] << endl;
    cout << "第三個元素: " << arr[2] << endl;
    
    // 遍歷陣列
    for (int i = 0; i < 5; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    
    // 範圍for迴圈
    for (int num : arr2) {
        cout << num << " ";
    }
    
    return 0;
}

Java 範例

public class ArrayExample {
    public static void main(String[] args) {
        // 宣告並初始化陣列
        int[] numbers = new int[5];
        numbers[0] = 10;
        numbers[1] = 20;
        numbers[2] = 30;
        
        // 簡化初始化
        String[] fruits = {"Apple", "Banana", "Orange"};
        
        // 取得陣列長度
        System.out.println("陣列長度: " + numbers.length);
        
        // 遍歷陣列
        for (int i = 0; i < fruits.length; i++) {
            System.out.println(fruits[i]);
        }
        
        // 增強for迴圈
        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

Python 範例

# Python 使用 list 作為動態陣列
numbers = [1, 2, 3, 4, 5]

# 存取元素
print(numbers[0])  # 1
print(numbers[-1])  # 5 (倒數第一個)

# 切片操作
print(numbers[1:3])  # [2, 3]
print(numbers[:3])   # [1, 2, 3]
print(numbers[::2])  # [1, 3, 5] (每隔一個)

# 常用操作
numbers.append(6)    # [1, 2, 3, 4, 5, 6]
numbers.insert(0, 0) # [0, 1, 2, 3, 4, 5, 6]
numbers.remove(3)    # [0, 1, 2, 4, 5, 6]
numbers.pop()        # [0, 1, 2, 4, 5]

# 列表推導式
squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

常見面試題

🚀 前往測驗