Swift程序 使用選擇排序算法按升序?qū)?shù)組進(jìn)行排序
在計(jì)算機(jī)科學(xué)中,排序算法是一種將一個(gè)序列(列表、數(shù)組等)按照一定順序重新排列的算法。愛(ài)掏網(wǎng) - it200.com排序算法包括許多不同的算法,其中,選擇排序算法是一種簡(jiǎn)單的排序算法。愛(ài)掏網(wǎng) - it200.com
選擇排序算法的基本思路是:從左到右遍歷數(shù)組,每次找到最小值,然后將該最小值替換到數(shù)組的開頭。愛(ài)掏網(wǎng) - it200.com這個(gè)過(guò)程一直持續(xù)到整個(gè)數(shù)組被排序完成。愛(ài)掏網(wǎng) - it200.com
在Swift中,我們可以使用以下代碼來(lái)實(shí)現(xiàn)選擇排序的算法:
func selectSort(_ arr: [Int]) -> [Int] {
var array = arr
for i in 0..<array.count {
var index = i
for j in i+1..<array.count {
if array[j] < array[index] {
index = j
}
}
if index != i {
swap(&array[i], &array[index])
}
}
return array
}
接下來(lái),我們可以使用以下代碼來(lái)測(cè)試上面的selectSort函數(shù):
let arr = [3, 4, 1, 9, 7, 6, 5]
print(selectSort(arr))
這個(gè)程序?qū)⑤敵?
[1, 3, 4, 5, 6, 7, 9]
這表明,我們成功地按照升序?qū)?shù)組進(jìn)行了排序。愛(ài)掏網(wǎng) - it200.com
完整代碼如下所示:
func selectSort(_ arr: [Int]) -> [Int] {
var array = arr
for i in 0..<array.count {
var index = i
for j in i+1..<array.count {
if array[j] < array[index] {
index = j
}
}
if index != i {
swap(&array[i], &array[index])
}
}
return array
}
let arr = [3, 4, 1, 9, 7, 6, 5]
print(selectSort(arr))
在本文中,我們介紹了如何使用選擇排序算法按升序?qū)?shù)組進(jìn)行排序的Swift程序。愛(ài)掏網(wǎng) - it200.com我們首先了解了選擇排序算法的基本思路,然后我們通過(guò)Swift代碼實(shí)現(xiàn)了選擇排序。愛(ài)掏網(wǎng) - it200.com最后,我們使用測(cè)試用例來(lái)驗(yàn)證我們的選擇排序算法是否按照我們的期望進(jìn)行排序。愛(ài)掏網(wǎng) - it200.com
聲明:所有內(nèi)容來(lái)自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。