C++实现快速排序算法
2011-12-27 16:53
288 查看
int partition(int* a,int l,int r)
{
int i=l-1,j=r,v=a[r];
while(1)
{
while(a[++i]<v||a[--j]>v) if(j<=i) break;
if(i>=j)
break;
swap(a[i],a[j]);
}
swap(a[i],a[r]);
return i;
}
void qsort(int* a,int l,int r)
{
if(l>=r) return;
int i = partition(a,l,r);
qsort(a,l,i-1);
qsort(a,i+1,r);
}
{
int i=l-1,j=r,v=a[r];
while(1)
{
while(a[++i]<v||a[--j]>v) if(j<=i) break;
if(i>=j)
break;
swap(a[i],a[j]);
}
swap(a[i],a[r]);
return i;
}
void qsort(int* a,int l,int r)
{
if(l>=r) return;
int i = partition(a,l,r);
qsort(a,l,i-1);
qsort(a,i+1,r);
}
相关文章推荐
- 快速排序算法所有版本的c/c++实现
- 十二之再续:快速排序算法之所有版本的c/c++实现
- 快速排序算法C++实现
- 快速排序算法C++实现[评注版]
- C++实现的快速排序算法
- C++实现快速排序算法QuickSort()
- 冒泡、选择和快速排序算法的C++实现
- 十二、一之再续:快速排序算法之所有版本的c/c++实现
- 快速排序算法之所有版本的c/c++实现
- 十二之再续:快速排序算法之所有版本的c/c++实现
- C++实现快速排序算法(源码)
- 十二、一之再续:快速排序算法之所有版本的c/c++实现
- 十大基础应用算法及C++实现(一)----快速排序算法
- 快速排序算法Quicksort(C++实现)
- C++实现快速排序算法QuickSort()
- 十二之再续:快速排序算法之所有版本的c/c++实现
- 快速排序算法C++实现
- 快速排序算法C++实现
- 十二之再续:快速排序算法之所有版本的c/c++实现
- 快速排序算法设计,C++实现代码