您的位置:首页 > 其它

每天一种算法--快速排序

2016-04-14 17:12 225 查看
C++ 代码

#include <iostream>

using namespace std;
void  quick_sort(int src[], int left ,int right)
{
if(left >= right)
return;

int i=left, j=right;
int key = src[left];

while(i!=j)
{
while(src[j]>=key && i<j)
j--;
while(src[i]<=key && i<j)
i++;
if(i!= j)
swap(src[i],src[j]);
}
swap(src[left],src[i]);
quick_sort(src, left ,i-1);
quick_sort(src, i+1,right);
}

int main()
{
int src[] = {1,9,2,8,3,7,4,5,6};
int len;
len = sizeof(src)/sizeof(int);

for(int i=0; i<len;i++){

cout << src[i] << endl;
}

cout << "sort" << endl;
quick_sort(src, 0, len-1);

for(int i=0; i<len;i++){

cout << src[i] << endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: