quick_sort
2013-03-21 22:02
344 查看
// qsort.cpp : 定义控制台应用程序的入口点。
//
#include "iostream"
using namespace std;
#include<stdio.h>
void qsort(int *num,int low,int high);
int onestep(int *num,int low,int high);
int main()
{
int num[1000];
int numx;
while(true)
{
cin>>numx;
if(numx>=1&&numx<=1000)
{
for(int i=0;i<numx;i++)
cin>>num[i];
qsort(num,0,numx-1);
for(int i=0;i<numx;i++)
printf("%d ",num[i]);
printf("\b\n");
}
}
return 1;
}
void qsort(int *num,int low,int high)
{
if(low<high)
{
int post=onestep(num,low,high);
qsort(num,low,post-1);
qsort(num,post+1,high);
}
}
int onestep(int *num,int low,int high)
{
//int x=low;
int y=num[low];
while(low<high)
{
while(low<high&&num[high]>=y)
high--;
if(low<high)
{
num[low]=num[high];
// x=high;
low++;
}
while(low<high&&num[low]<=y)
low++;
if(low<high)
{
num[high]=num[low];
//x=low;
high--;
}
}
num[low]=y;
return low;
}
http://acmoj.shu.edu.cn/openjudge/problemlist.php http://acm.sjtu.edu.cn/OnlineJudge/problem/1024
//
#include "iostream"
using namespace std;
#include<stdio.h>
void qsort(int *num,int low,int high);
int onestep(int *num,int low,int high);
int main()
{
int num[1000];
int numx;
while(true)
{
cin>>numx;
if(numx>=1&&numx<=1000)
{
for(int i=0;i<numx;i++)
cin>>num[i];
qsort(num,0,numx-1);
for(int i=0;i<numx;i++)
printf("%d ",num[i]);
printf("\b\n");
}
}
return 1;
}
void qsort(int *num,int low,int high)
{
if(low<high)
{
int post=onestep(num,low,high);
qsort(num,low,post-1);
qsort(num,post+1,high);
}
}
int onestep(int *num,int low,int high)
{
//int x=low;
int y=num[low];
while(low<high)
{
while(low<high&&num[high]>=y)
high--;
if(low<high)
{
num[low]=num[high];
// x=high;
low++;
}
while(low<high&&num[low]<=y)
low++;
if(low<high)
{
num[high]=num[low];
//x=low;
high--;
}
}
num[low]=y;
return low;
}
http://acmoj.shu.edu.cn/openjudge/problemlist.php http://acm.sjtu.edu.cn/OnlineJudge/problem/1024
相关文章推荐
- 快速排序(Quick-Sort)
- C++、delphi、python Quick_Sort实现
- Algorithmic Implementation series(6) Implementation of Quick_Sort
- Another C program for quick sort
- fw ->>>>>>> 2013年12月13日23:16:30 ->> quick_sort
- 著名的快数排序Quick-sort
- 快速排序_quick_sort
- C/C++ Quick Sort Algorithm
- quick sort algorithm
- Quick Sort & Binary Merge Sort
- 快速排序(Quick-Sort)
- 快速排序(quick_sort)
- quick sort in golang
- c++中的quick_sort
- Quick sort C# code
- MergeSort and Quick Sort
- C/C++ Quick Sort Algorithm
- 【代码积累】quick sort bia direction
- Quick_Sort
- improved partition in quick sort