使用氣泡排序法將陣列按降序排列的 Swift 程式
Swift 中的氣泡排序演算法是最簡單的搜尋演算法。該演算法透過重複交換相鄰元素(如果它們不在正確的位置)來對元素進行排序。所以現在我們使用氣泡排序法將陣列按降序排列。
例如 -
Array - [4, 7, 1, 8]
第一次迭代 - 比較兩個元素,如果第一個元素小於第二個元素,則交換它們的位置。如果不是,則移動到下一對。
[4, 7, 1, 8] 4<7, swap the position [7, 4, 1, 8] 4>1, remain same [7, 4, 1, 8] 1<8, swap the position [7, 4, 8, 1]
第二次迭代 - 再次比較兩個元素,如果第一個元素小於第二個元素,則交換它們的位置。
[7, 4, 8, 1] 7>4, remain same [7, 4, 8, 1] 4<8, swap position [7, 8, 4, 1] 4>1, remain same
第三次迭代 - 再次比較兩個元素,如果第一個元素小於第二個元素,則交換它們的位置。
[7, 8, 4, 1] 7<8, swap position [8, 7, 4, 1] 7>4, remain same [8, 7, 4, 1] 4>1, remain same So the sorted array in descending order is [8, 7, 4, 1]
演算法
步驟 1 - 建立一個函式,使用氣泡排序演算法將陣列按降序排列。
步驟 2 - 在函式內部,我們執行巢狀的 for-in 迴圈以遍歷給定陣列中每對相鄰元素。
步驟 3 - 檢查 array[y]<array[y+1]。如果是,則互換元素的位置。如果不是,則移動到下一對。
步驟 4 - 現在在函式外部建立一個整數型別的陣列。
步驟 5 - 呼叫函式並將陣列傳遞給它。
步驟 6 - 列印排序後的陣列。
示例
在下面的示例中,我們將建立一個名為 mBubbleSort() 的函式。此函式將陣列作為輸入,並使用氣泡排序演算法將給定陣列按降序排序。此函式使用巢狀的 for-in 迴圈迭代給定陣列中的每對相鄰元素,如果第一個元素小於第二個元素,則交換它們。此過程持續到最後一個未排序的元素。這裡函式使用 inout 引數修改原始陣列。最後顯示排序後的陣列。
import Foundation
import Glibc
// Function to sort array in descending order using bubble sort
func mBubbleSort(_ array: inout [Int]) {
let size = array.count
for x in 0..<size {
for y in 0..<size-x-1 {
// Compare two adjacent elements
if array[y] < array[y+1] {
// Swap the elements if they are
// not in the correct order
let temp = array[y]
array[y] = array[y+1]
array[y+1] = temp
}
}
}
}
// Array of integer type
var arr = [67, 3, 22, 89, 12, 1, 55, 80, 4]
mBubbleSort(&arr)
print("Sorted array in descending order: \(arr)")
輸出
Sorted array in descending order: [89, 80, 67, 55, 22, 12, 4, 3, 1]
結論
因此,這就是我們如何使用氣泡排序法將陣列按降序排列。該演算法僅適用於少量元素,不適用於大量元素,因為它的平均和最壞情況時間複雜度較高。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP