• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: C/C++
  • 标签: C  qsort  

资源简介

C库函数qsort的实现,对学习指针有极大的帮助。可以实现任意类型数据的排序。

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;

//类似于库函数的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);//拷贝内存
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);//释放内存
pivot = NULL; 
if(i-left>1)
qsort1(dat

评论

共有 条评论