///////////////////快速排序模板///////////
//转载编程学习笔记的博客,源地址请点击,感谢”编程学习笔记“博主的辛勤付出。
//部分验证,推理得出。内容基本可靠!
////////////////////对int/char/float/double整形数组的快排/////////////////////
#include
#include<stdlib.h>
int
{
return
}
int
{
元素类型
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////对结构体某元素的快排////////////////////////////
#include
#include<stdlib.h>
int
struct
{
}ss[V];//V为数组大小
int
{
}
int
{
}//一级结构体排序
int
{
if((*(struct
return
else
}//二级结构体排序
//多级结构体以此类推
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////对结构体重字符串的快排///////////////////////////
#include
#include<string.h>
#include<stdlib.h>
struct
{
int
char
}ss[V];//V为数组大小
int
{
return
}
int
{
qsort(ss,cnt,sizeof(ss[0]),cmp);//对结构体ss按照结构体中字符串ch的字典顺序进行快排//cnt为要排的元素的个数
}
///////////////////////////////////////////////////////////////////////////////
//////////////////////////////////注意事项/////////////////////////////////////
1.根据实际操作发现qsort在排非常大(或非常小)的数(如<limits.h>中的INT_MAX(INT_MIN))时会失灵(不排这个数),原因暂不明,使用时要注意!
2.使用qsort应用.c编辑,不可用.cpp!