快排
来源:互联网 发布:mac关闭icloud 编辑:程序博客网 时间:2024/06/10 07:20
//快排
//将数据分块
template <typename T>
int partition(T a[],int low,int high)
{
int temp = a[low];
while(low < high)
{
while((low < high)&&(a[high] > temp))
{
high--;
}
if(low < high)//一定要,当a[] = {0,1} 试试
{
a[low++] = a[high];
}
while((low < high)&&(a[low] < temp))
{
low++;
}
if(low < high)//一定要,当a[] = {0,1} 试试
{
a[high--] = a[low];
}
}
a[low] = temp;
return low;
}
//递归
template <typename T>
void quicksort(T a[],int low,int high)
{
int mid;
if(low < high)
{
mid = partition(a,low,high);
quicksort(a,low,mid-1);
quicksort(a,mid+1,high);
}
}
//对外接口
template <typename T>
void tQuickSort(T a[])
{
quicksort(a, 0, (strlen(a) - 1));
}
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排
- 快排。
- 关于SD卡的问题
- 高通audio软件模块功能框图
- iOS程序开发引用的第三方库之间出现duplicate symbol时的处理方法
- pthread 线程属性
- 简单的多线程流水线模型(一)
- 快排
- C++ static
- NDK 如何在Android中使用编译好的.so库
- T_SQL查看、修改和删除索引
- android,ETC1压缩纹理带alpha通道
- CSUST 1487 未覆盖顶点数量
- 送给自己
- ArcGIS Server for JavaScript api安装部署
- ORACLE 触发器