模仿qsort的功能實現乙個通用的氣泡排序。

2021-09-26 14:09:04 字數 707 閱讀 3797

我前面寫過一篇文章,使用qsort函式排序各種型別的資料(

qsort的函式原型

void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
這裡以公升序為例子

氣泡排序的思路很簡單,遍歷一組陣列,將從前往後(也可以從後往前)兩數比較,若前面大後面小,兩數進行交換,遍歷一遍後即完成了排序的過程。

具體的**如下

#include#include#includeint comp(const void* a, const void* b)

void swap(int*a, int* b)

void bubblesort(int* arr, int size, int width, int(*comp)(const void* a, const void* b))

} }}int main();

int size = sizeof(arr) / sizeof(arr[0]);

bubblesort(arr, size,sizeof(arr[0]),comp);

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

system("pause");

return 0;

}

模仿qsort的功能實現乙個通用的氣泡排序

qsort的標準呼叫方法 void qsort void base,size t num,size t size,int compar const void,const void 其中 base代表傳入的陣列,num代表陣列長度 size代表陣列內乙個元素所佔的位元組數 因為base的型別是void...

乙個簡單功能的SQL 實現

1.假設有一張表示cj表 name subject result 張三 語文 80張三 數學 90張三 物理 85李四 語文 85李四 數學 92李四 物理 89要求查詢結果 姓名 語文 數學 物理 張三 80 90 85李四 85 92 89 建立cj表sql create table cj id...

乙個簡單功能的SQL 實現

1.假設有一張表示cj表 name subject result 張三 語文 80張三 數學 90張三 物理 85李四 語文 85李四 數學 92李四 物理 89要求查詢結果 姓名 語文 數學 物理 張三 80 90 85李四 85 92 89 建立cj表sql create table cj id...