快速排序问题
2015-08-21 16:02
225 查看
QuickSort(vector <int> &a, int left,int right)
{
if(left<right)
{
int key=a[left];
int low=left;
int high=right;
while(low<high)
{
while(low<high&&a[high]>key)
{
high--;
}
a[low]=a[high];
while(low<high&&a[low]<key)
{
low++;
}
a[high]=a[low];
}
a[low]=key;
QuickSort(a,left,low-1);
QuickSort(a,low+1,right);
}
}
{
if(left<right)
{
int key=a[left];
int low=left;
int high=right;
while(low<high)
{
while(low<high&&a[high]>key)
{
high--;
}
a[low]=a[high];
while(low<high&&a[low]<key)
{
low++;
}
a[high]=a[low];
}
a[low]=key;
QuickSort(a,left,low-1);
QuickSort(a,low+1,right);
}
}
相关文章推荐
- lwip—mem_init和mem_malloc详解[转载]
- 二分答案 POJ3273
- Importing a Microsoft Excel Source Definition
- Android 点击两次返回退出应用
- 寒冰王座
- mac系统使用技巧链接汇总
- 文章标题
- GDI+画电子印章
- 剑指off-判断5张牌是否是顺子
- WPF 自定义控件依赖属性怎么实时变化?
- 利用mod_wsgi部署Django应用
- C#获取网络图片显示到picturebox
- Linux 查看文件和文件夹大小
- 电赛总结(四)——波形发生芯片总结之AD9834
- php-fpm 启动参数及重要配置详解
- c#用户控件的生命周期
- 莫比乌斯函数
- android 组件DatePicker实例
- UVA---10608-Friends(并查集)
- String,创建对象问题