TypeScript 陣列的選擇排序(selectionSort)

TypeScript 是一種由微軟開發的 JavaScript 的超集,它擁有更強大的功能,可以讓開發者更容易地開發出更高品質的程式碼。在 TypeScript 中,可以使用選擇排序(selectionSort)來對陣列進行排序。

什麼是選擇排序?

選擇排序是一種排序演算法,它的原理是從陣列中找出最小的元素,並將其與陣列的第一個元素交換位置,然後再從剩下的元素中找出最小的元素,並將其與陣列的第二個元素交換位置,以此類推,直到將整個陣列排序完成。

TypeScript 陣列的選擇排序範例

以下是一個使用 TypeScript 實現陣列的選擇排序的範例:

function selectionSort(arr: number[]) {
    let minIndex: number;
    let temp: number;
    for (let i = 0; i < arr.length - 1; i++) {
        minIndex = i;
        for (let j = i + 1; j < arr.length; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
    return arr;
}

let arr: number[] = [3, 5, 1, 4, 2];
console.log(selectionSort(arr)); // [1, 2, 3, 4, 5]

在上面的範例中,我們定義了一個名為 selectionSort 的函數,它接受一個 number 類型的陣列作為參數,並對陣列中的元素進行選擇排序。

首先,我們定義了一個 minIndex 變數,用於記錄當前最小元素的索引,以及一個 temp 變數,用於交換元素的位置。然後,我們使用一個外層的 for 循環來遍歷陣列中的每個元素,並使用一個內層的 for 循環來尋找當前最小的元素,最後將當前最小的元素與外層 for 循環中的元素交換位置,直到將整個陣列排序完成。

最後,我們定義了一個 number 類型的陣列 arr,並將其傳遞給 selectionSort 函數,最後將排序後的陣列輸出到控制台,結果如下:

[1, 2, 3, 4, 5]

從上面的範例可以看出,使用 TypeScript 來實現陣列的選擇排序是非常簡單的,只需要定義一個函數,並使用兩個 for 循環來尋找最小的元素,就可以將陣列排序完成。

總結

在本文中,我們介紹了 TypeScript 陣列的選擇排序,並提供了一個簡單的範例來說明如何使用 TypeScript 來實現陣列的選擇排序。雖然選擇排序的時間複雜度是 O(n2),但它的優勢在於它的穩定性,可以保證排序後的陣列中相同元素的相對位置不會改變。

Categorized in:

Tagged in: