Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1122981
  • 博文数量: 241
  • 博客积分: 4385
  • 博客等级: 上校
  • 技术积分: 2383
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-07 23:13
文章分类

全部博文(241)

文章存档

2013年(1)

2012年(8)

2011年(62)

2010年(109)

2009年(61)

分类: C/C++

2009-07-15 17:33:28

#include
using namespace std;
 
void QuickSort(int R[],int low,int high)
{
    int temp;//枢轴元素
    if(low    {
        temp=R[low];//以数组的第一个元素作为基准进行划分
        int i=low,j=high;
        while(i        {
            while(i            if(i            while(iR[i])i++;//从左向右扫描,找到第一个值大于temp的R[i]
            if(i        }
        R[i]=temp;//枢轴元素移到合适的位置
        QuickSort(R,low,i-1);
        QuickSort(R,i+1,high);
  }
}
int main()
{
    int i=0;
    int R[10]={3,7,6,1,5,9,8,4,2,0};
    QuickSort(R,0,9);
    while(i<10)
    {
        cout<        i++;
    }
    return 0;
}
阅读(1505) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~