qsort 不得不說的快排技能

2021-08-20 07:06:17 字數 1581 閱讀 2871

使用qsort對不同型別進行排序:

int cmp_string(const void *s, const void *t)

int cmp_int(const void *x, const void *y)

else if (*_x < *_y)

else

}int cmp_float(const void*m, const void *n)

else if (*_m < *_n)

else

}int main()

; int len = sizeof(str) / sizeof(str[0]);

qsort(str, len, sizeof(char*), cmp_string);

int arr = ;

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

qsort(arr, size, sizeof(int), cmp_int);

float a = ;

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

qsort(a, sz, sizeof(float), cmp_float);

system("pause");

return 0;

}

模擬實現qsort  :

了解qsort的基本引數.

void qsort (void *start,size,sizeof(int),int (*cmp)(const void*,const void*))

//(陣列首位址,陣列大小,每個元素大小,cmp函式);

//字串在傳資料大小時需要用 sizeof(char*)

具體的**實現:

int cmp(const void *x, const void *y)

//int cmp_int(const void *x, const void *y)

//// else if (*_x < *_y)

// else

////} cmp 另一種實現方法

void swap(char *x, char *y, int width)

}void my_qsort(void *arr, int sz, int width,int(*cmp)(void*,void*))

} if (flag == 0) }}

int main()

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

int i = 0;

my_qsort(arr, sz, sizeof(int), cmp);

for (; i < sz; i++)

printf("\n");

system("pause");

return 0;

}

不得不說的「跳槽」

現實中不難發現 越是高階人才,適合的機會就越少 的現象。身處金字塔中上層的人員,無論是職位還是薪水,起點都很高,這客觀上造成適合的職位機會少,職業路徑轉換成本過高等問題。我個人認為,it技術高層人士,如果要跳槽,務必要注意三宜和三忌。忌 病急亂投醫 宜 方法得當 公升遷至較高職位的人,大多都多年不找...

關於基礎,不得不說

最近遇到好多問題,都與基本概念相關。忍不住,就想多說幾句。研究生面試,我出了乙個問題,乙個100khz的方波訊號,幅度大約是幾伏的數量級,想測量其有效值,用什麼儀器,怎麼測?多數學生一臉茫然,搞的我不好意思,慚愧題目是不是太難了。我急了,問學生,乙個1.5v的電池,其電壓有效值是多少?學生問我,直流...

ios icon 不得不說的故事

圖示是ios程式包所必需的組成部分。如果你沒有提供程式所需的各種尺寸的圖示,程式上傳發布時可能會無法通過驗證。ios程式為兼顧不同的應用場景,定義了多個不同規格的圖示,並以不同的命名區分 圖示名稱 大小圓角 用途必需 icon.png 57 x 57 10px 用於程式商店和在iphone ipod...