- (void)bubblingaction
/* 氣泡排序:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
*/-(void)bubblesort:(nsmutablearray *)array}}
}
- (void)bubblingaction
/* 基本選擇排序:
對比陣列中前乙個元素跟後乙個元素的大小,如果後面的元素比前面的元素小則用乙個變數min來記住他的位置,接著第二次比較,前面「後乙個元素」現變成了「前乙個元素」,繼續跟他的「後乙個元素」進行比較如果後面的元素比他要小則用變數k記住它在陣列中的位置(下標),等到迴圈結束的時候,我們應該找到了最小的那個數的下標了,然後進行判斷,如果這個元素的下標不是第乙個元素的下標,就讓第乙個元素跟他交換一下值,這樣就找到整個陣列中最小的數了。然後找到陣列中第二小的數,讓他跟陣列中第二個元素交換一下值,以此類推
iOS 排序演算法總結
查考 二叉樹借鑑上面乙個位址,把常用的一些排序演算法總結歸納一下,便於大家和自己的學習 一 插入排序 1 直接插入排序 直接插入排序基本思想 1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至i n為止,依次將r i 插入當前的...
iOS演算法 快速排序
在平均狀況下,排序 n 個專案要 nlogn 次比較。在最壞狀況下則需要 n2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 nlogn 演算法更快,因為它採用的是內部迴圈 inner loop 這個可以在大部分的架構上很有效率地被實現出來。最優 每一次的flag剛好都可以平分整個陣列...
ios演算法之氣泡排序演算法
通過不斷的走訪需要排序的元素,依次比較兩個相鄰的元素。如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。這樣重複的進行直到沒有相鄰元素需要交換,就算元素排序完成。名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端 公升序或降序排列 就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,...