首页 > 其他 > 详细

重点算法--快速排序

时间:2014-05-28 21:30:44      阅读:351      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#include<iostream>
using namespace std;
////写出快速排序,归并排序与堆排序


int adjustarray(int a[],int left,int right)
{
    int x = a[left];
    while(left < right)
    {
        while(a[right] > x && left < right) right--; ///注意这个小于的范围
        if(left < right ) {a[left] = a[right];left++;}

        while(a[left] <= x && left < right) left++;
        if(left < right ) {a[right] = a[left];right--;}
    }
    a[left] = x;
    return left;
}

void quicksort(int a[],int left,int right)
{
    if(left <  right)
    {
      int mid = adjustarray(a,left,right);
      quicksort(a,left,mid - 1);
      quicksort(a,mid + 1,right);
    }
}


int main()
{
    int a[] = {1,5,4,3,2,6,7,4,1,6,7};
    quicksort(a,0,10);
    for(int i = 0;i< 10;i++)
        cout<<a[i]<<" ";
}
bubuko.com,布布扣

 

重点算法--快速排序,布布扣,bubuko.com

重点算法--快速排序

原文:http://www.cnblogs.com/berkeleysong/p/3754558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!