氣泡排序演算法
@param mutablearray 需要排序的陣列
*/
/**
選擇排序演算法
@param mutablearray 需要排序的陣列
*/- (void)selectionsortarray:(nsmutablearray *)mutablearray }}
}```
#### 3.快速排序演算法
```oc
/** 快速排序演算法
@param array 需要排序的陣列
@param leftindex 左邊的下標
@param rightindex 右邊的下標
*/- (void)quicksortarray:(nsmutablearray *)array
leftindex:(nsinteger)leftindex
rightindex:(nsinteger)rightindex
nsinteger i = leftindex;
nsinteger j = rightindex;
// 記錄基準數
nsinteger key = [array[i] integervalue];
while (i < j)
// 如果比基準數小,則將查詢到的小值調換到i的位置
array[i] = array[j];
// 當在右邊查詢到乙個比基準數小的值時,就從i開始往後找比基準數大的值
while (i < j && [array[i] integervalue] <= key)
// 如果比基準數大,則將查詢到的大值調換到j的位置
array[j] = array[i];
}// 將基準數放到正確位置
array[i] = @(key);
// 遞迴排序
[self quicksortarray:array leftindex:leftindex rightindex:i - 1];
[self quicksortarray:array leftindex:i + 1 rightindex:rightindex];
}```
幾種排序演算法的實現
對陣列int a n 進行直接插入排序 void insertsort int a,int n r j 1 temp 完成下標為i的元素的排序 對陣列a n 進行折半插入排序 void insertsort int a,int n 折半查詢結束 移動元素 for j i j high 1 j a j...
幾種排序演算法實現
class sort include sort.h include sort sort void sort sort void 交換兩個數 inline void sort swap int a,int b 氣泡排序 1.比較相鄰的前後兩個資料,如果前面的資料大於後面的資料,就將兩個資料交換。2.這...
幾種排序演算法的C 實現
插入排序 include define max size 1000 using namespace std 插入排序,pa為指向陣列的指標,n為陣列元素個數 void insert sort int pa,int n pa i key int main else free p1 free p2 合併...