iOS學習筆記 iOS演算法 四 之氣泡排序

2022-09-01 05:24:07 字數 906 閱讀 7867

氣泡排序法的基本思想:(以公升序為例)含有n個元素的陣列原則上要進行n-1次排序。對於每一躺的排序,從第乙個數開始,依次比較前乙個數與後乙個數的大小。如果前乙個數比後乙個數大,則進行交換。這樣一輪過後,最大的數將會出現稱為最末位的陣列元素。第二輪則去掉最後乙個數,對前n-1個數再按照上面的步驟找出最大數,該數將稱為倒數第二的陣列元素......n-1輪過後,就完成了排序。

/*氣泡排序  分析詳解:

原始資料: 28, 30, 19, 2, 23

第一趟:

第一次:28, 30, 19, 2, 23

第二次:28, 19, 30, 2, 23

第三次:28, 19, 2, 30, 23

第四次:28, 19, 2, 23, 30

第二趟:

第一次:19, 28, 2, 23, 30

第二次:19, 2, 28, 23, 30

第三次:19, 2, 23, 28, 30

第三趟:

第一次:2, 19, 23, 28, 30

第二次:2, 19, 23, 28, 30

第四趟:

第一次:2, 19, 23, 28, 30

*///n個元素比較n-1趟

//每趟比較次數 = 陣列元素個數 - 趟數

**實現:

//隨機產生一組20個元素的陣列取值範圍為[20, 40]

int a[20] = ;

printf("隨機產生的乙個包含20個元素的陣列:\n");

for (int i = 0; i < 20; i++)

for (int i = 0; i < 20 - 1; i++) }}

printf("\n進行氣泡排序,產生一組從小到大順序的陣列:\n");

for (int i = 0; i < 20; i++)

IOS學習筆記之NSZone

在碰到allocwithzone,copywithzone總會有個疑問,這個nszone到底是個什麼東西?簡單來說,可以想象成乙個記憶體池,alloc或是dealloc這些操作,都是在這個記憶體池中操作的。cocoa總是會配置乙個預設的nszone,任何預設的記憶體操作都是在這個 zone 上操作的...

IOS學習筆記之UISearchBar

1 概念 搜尋條 uisearchbar 由乙個文字框和幾個按鈕組成,當使用者在文字框內輸入部分內容之後,程式即可按指定的規則執行搜尋。uisearchbar控制項的不同部分會激發不同的事件,而這些事件也由該控制項對應的委託物件處理,uisearchbar的委託物件必須實現uisearchbarde...

IOS學習筆記之通知

1 通知的概念 ios系統提供了nsnotificationcenter 通知中心 設計,這種設計允許開發者以松耦合的方式實現ios 應用內各個物件之間的通訊。nsnotificationcneter實現了觀察者模式,允許應用的不同物件之間以松耦合的方式進行通訊。nsnotificationcent...