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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: