您的位置:首页 > 其它

快速排序

2017-02-27 14:47 169 查看
#include <bits/stdc++.h>

using namespace std;

void QuickSort(int a[],int l,int r)
{
int mid = a[(l+r)/2];
int lwalker = l;
int rwalker = r;
while (lwalker < rwalker)
{
while (a[lwalker] < mid) lwalker++;
while (a[rwalker] > mid) rwalker--;
if (lwalker <= rwalker)
{
swap(a[lwalker],a[rwalker]);
lwalker++;
rwalker--;
for (int i = 0; i<10; i++)
cout << a[i] << " ";
cout << endl;
}
}

if (lwalker < r) QuickSort(a,lwalker,r);
if (rwalker > l) QuickSort(a,l,rwalker);
}
int main()
{
int a[] = {0,6,4,2,8,1,5,3,7,9};
for (int i = 0; i<10; i++)
cout << a[i] << " ";
cout << endl;
QuickSort(a,0,9);
for (int i = 0;i<10;i++)
{
cout << a[i] << " ";
}
cout << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: