iOS程式設計 Swift實現氣泡排序演算法 以及優化

2021-07-04 05:31:18 字數 503 閱讀 9921

氣泡排序大家都很了解了,我的理解:其實就是倒序兩兩比較,把小的數依次往前放。執行完以後,再遍歷剩下的n-1個數。其最壞情況的時間維度為o(n²)

**如下:

func swap(inout array: [t], index1: int, index2: int)

//氣泡排序

func bubblesort(inout array: [int]) }}

}}

優化:上面的基本排序有乙個缺點,那就是如果後面已經有排序好的,還是會遍歷一遍。

比如陣列 array = [2,1,3,4,5,6],上面的演算法會執行36次才會ok.其實1後面都是排序好的,只需要排序前兩個即可。優化**如下:

//優化氣泡排序

func bubblesort(inout array: [int])}}

}}

}

python實現快排 氣泡排序

1 快排 快排 從一堆雜亂的資料中挑選乙個基準值,將這些數字和基準值一一比較,大的放基準值的右邊,小的放左邊 實現思路 定義乙個函式,挑選列表的首個數字作為基準值,其他數字比基準值小的數字生成列表,同理,其他數字和基準值大的數字生成另乙個列表,再遞迴快排這兩個列表 def quick sort nu...

C 實現各種排序 快排 插排 冒泡

1 插入排序 插入排序 主要思想 將陣列中的第乙個數認為是有序排列,剩下的n 1個數與第乙個數比較,再進行排序 有兩層迴圈,第一層控制排序的趟數,第二層控制每一趟比較的個數 include using namespace std int main for int i 0 i 10 i cin a i...

iOS 2 Swift程式設計問題

1 swift工程匯入第三方sdk a,h 時 提示無法找到標準c 中的關鍵字 函式等 clang error linker command failed with exit code 1 use v to see invocation clang error linker command fail...