通過不斷的走訪需要排序的元素,依次比較兩個相鄰的元素。如果順序(如從大到小、首字母從z到a)錯誤就把他們交換過來。這樣重複的進行直到沒有相鄰元素需要交換,就算元素排序完成。名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名氣泡排序
。
oc demo位址
#pragma mark - 氣泡排序
- (void)bubblesortmethod
[self showbubblesortresult:array];}}
nslog(@"迴圈次數:%d",icount);
nslog(@"共%d次比較",jcount);
}//列印陣列
- (void)showbubblesortresult:(nsmutablearray * )array
nslog(@"%@",str);
nslog(@"<**********===>");
}
/// mark - 冒泡演算法
func bubblesortmethod(_ nums: inout [int]) }}
print("外層次數:\(icount)","交換次數:\(jcount)")}
var nums = [10,1,2,9,7,19,5,3,8,13,17]
bubblesortmethod(&nums)
swift demo位址
iOS常用演算法之氣泡排序
冒泡演算法是一種基礎的排序演算法,這種演算法會重複的比較陣列中相鄰的兩個元素,如果乙個元素比另乙個元素大 小,那麼就交換這兩個元素的位置。重複一直比較到最後乙個元素.1.基本的氣泡排序演算法 void bubblesorting nslog 排序後的陣列 array nslog 迴圈次數 d cou...
演算法 排序演算法之氣泡排序
排序演算法系列目錄說明 排序演算法簡介說明 1.定義 將一組雜亂無章的資料按一定的規律順次排列起來。例如 輸入 a1,a2,a3,an 輸出 a1 a2 a3 an 滿足a1 a2 a3 an 排列 2.演算法效能評估術語言 穩定 如果a原本在b前面,而a b時,排序之後a仍然在b的前面。不穩定 如...
演算法 排序演算法之氣泡排序
氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。作為最簡單...