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),但它的優勢在於它的穩定性,可以保證排序後的陣列中相同元素的相對位置不會改變。