您的位置:首页 > 产品设计 > UI/UE

quick_sort

2013-09-29 08:37 309 查看
//#include "mergeSort.h"

#include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

using namespace std;

int par(int * a,int left, int right)

{// left and right reachable

int first_large = left;

int pivot = a[right];

for(int i =left; i<=right;++i)

{

if(a[i] < pivot)

{

int temp = a[i];

a[i] = a[first_large];

a[first_large] = temp;

++first_large;

}

}

int te = a[right];

a[right] = a[first_large];

a[first_large] = te;

return first_large;

}

void q_sort(int * a, int left,int right)

{

int q;

if(left<right)

{

q = par(a,left,right);

q_sort(a,left,q-1);

q_sort(a,q+1,right);

}

}

#define N 10000

int main()

{

int a
= {1,3,233,7,9,1,3,233,7,9};

for(int i = 0;i<N;++i)

{

a[i] = rand()%10009;

}

q_sort(a,0,N-1);

for(int i = 0;i<N;++i)

{

printf("%d ",a[i]);

cout << endl;

}

system("pause");

return 0;

}

这个是 中间 有序的 ·· 冒泡是 后半部分 有序的···
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: