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;
}
这个是 中间 有序的 ·· 冒泡是 后半部分 有序的···
#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;
}
这个是 中间 有序的 ·· 冒泡是 后半部分 有序的···
相关文章推荐
- newlisp quick sort增强
- Algorithm: Quick Sort Mind and Related Questions
- Bubble, Insertion, Selection, Quick and Heap Sort
- Lecture 4 Quick Sort and Randomized Quick Sort
- poj 2388 Quick_sort 求中间值
- c语言数组五种排序法:bubble,choise,quick,insert,shell 和js 数组排序sort的区别
- What does Quick Sort look like in Python?
- sort quick
- quick_sort
- Algorithm: Quick Sort Mind and Related Questions
- 快速排序与快速选择算法(quick sort and quick select algorithm)
- 笔试算法题(54):快速排序实现之单向扫描、双向扫描(single-direction scanning, bidirectional scanning of Quick Sort)
- Rhyme/Quick Sort 快速排序Java版
- 000-algorithm-quick_sort
- Quick sort VS Merge sort
- Algorithm: Quick Sort Mind and Related Questions
- quick_sort
- Quick sort and the Kth number
- Algorithm: Quick Sort Mind and Related Questions
- Algorithm 3_Quick_Sort