快排程序

#include<iostream>
#include<fstream>
using namespace std;

ifstream fin("Quicksort.in");
ofstream fout("Quicksort.out");

int w[10000];

void Quick_sort(int i,int j)
{
     int a,b,c;
     a=i;
     b=j;
     c=w[i+rand()%(j-i+1)];   //c语言rand()函数的用法是  i+rand()%(j-i+1) 随机取i到j中的数 调用stdlib.h
     while(a<=b)
     {
      while(w[a]<c) a++;
      while(w[b]>c) b--;
      if(a<=b)
      {
       w[0]=w[a];
       w[a]=w[b];
       w[b]=w[0];
       a++;b--;
              }
         
                }
     if(a<j) Quick_sort(a,j);
     if(b>i) Quick_sort(i,b);  
    
     }


int main()
{
    int i,j,n;
    fin>>n;
    for(i=1;i<=n;i++)
    fin>>w[i];
    Quick_sort(1,n);
    for(i=1;i<=n;i++)
    fout<<w[i]<<"    ";
   
    }

转载于:https://www.cnblogs.com/noip/archive/2011/12/07/2279820.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值