快速排序
2015-08-09 15:00
309 查看
参考http://blog.csdn.net/morewindows/article/details/6684558
我的代码存档-快排
void sort(int *array, int left, int right)
{
//退出条件
if(left >= right)
{
return;
}
//存储left和right,并把最左值给x
int i = left;
int j = right;
int x = array[left];
while(i < j)
{
//array[i]上有一个坑,用右边数字添坑
while(i < j && x >= array[j])
{
j--;
}
array[i] = array[j];
//array[j]上有一个坑,用左边第i个数字添坑
while (i < j && x <= array[i])
{
i++;
}
array[j] = array[i];
}
//左边第i个数字有坑,用x添坑
array[i] = x;
//把左右两边分区,分别低柜调用sort
sort(array, left, i - 1);
sort(array, i + 1, right);
}
我的代码存档-快排
void sort(int *array, int left, int right)
{
//退出条件
if(left >= right)
{
return;
}
//存储left和right,并把最左值给x
int i = left;
int j = right;
int x = array[left];
while(i < j)
{
//array[i]上有一个坑,用右边数字添坑
while(i < j && x >= array[j])
{
j--;
}
array[i] = array[j];
//array[j]上有一个坑,用左边第i个数字添坑
while (i < j && x <= array[i])
{
i++;
}
array[j] = array[i];
}
//左边第i个数字有坑,用x添坑
array[i] = x;
//把左右两边分区,分别低柜调用sort
sort(array, left, i - 1);
sort(array, i + 1, right);
}
相关文章推荐
- mysql 锁机制
- bzoj1115: [POI2009]石子游戏Kam
- 设置ECSHOP支持货到付款
- leetcode 109 —— Convert Sorted List to Binary Search Tree
- 选择排序
- WPF QuickStart系列之数据绑定(Data Binding)
- hdu 4044 2011北京赛区网络赛E 树形dp ****
- hdu2097 Sky数
- 非主流并发工具之 ForkJoinPool
- hdu 5366 The mook jong dp
- 冒泡排序
- cocos2d-x window 版本 转 mac 版本 注意
- hdu 1058 水题+”英文题“
- AndroidAnnotation初使用
- DLLMain返回值
- POJ3259 Wormholes(bellman)
- oracle-替换 换行符和空格符
- VS中添加新项 数据选项卡下没有ADO.NET实体数据模型解决方案
- 计蒜客 - 挑战难题39 - 斐波那契数列 - Python之路
- android工程目录需要重点了解掌握的