資源簡介
C庫函數(shù)qsort的實(shí)現(xiàn),對學(xué)習(xí)指針有極大的幫助。可以實(shí)現(xiàn)任意類型數(shù)據(jù)的排序。
代碼片段和文件信息
#include?
#include?
using?namespace?std;
//類似于庫函數(shù)的qsort
void?qsort1(void*?datasize_t?leftsize_t?rightsize_t?sizeint?(*compare)(const?void*const?void*))
{
size_t?p?=?(left+right)/2;
void?*pivot?=?(void*)malloc(size);
memcpy(pivot(char*)data+p*sizesize);//拷貝內(nèi)存
size_t?i=leftj=right;
while(i {
while(i i++;
if(i {
memcpy((char*)data+p*size(char*)data+i*sizesize);
p?=?i;
}
while(j>p?&&?(*compare)((char*)data+j*size(char*)pivot)?>?0?)
j--;
if(j>p)
{
memcpy((char*)data+size*p(char*)data+size*jsize);
p?=?j;
}
}
memcpy((char*)data+size*p(char*)pivotsize);
free(pivot);//釋放內(nèi)存
pivot?=?NULL;?
if(i-left>1)
qsort1(dat
- 上一篇:c++編的mfc 貪吃蛇游戲
- 下一篇:VC++垃圾文件清理工具源碼.rar
評論
共有 條評論