快速排序的实现

  快速排序的重要性不言而喻,原理什么的不再多说,google一下都很详细,许多面试中都重点考察,甚至还会要求迅速手写,今天码出快排的代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<iostream>
using namespace std;
void quicksort(int left,int right,int arr[])
{
    if(left > right)
        return ;
    int i,j,t,tmp;
    i = left;
    j = right;
    t = arr[left];
    while(i != j)
    {
        while(arr[j] >= t && i < j)
            j --;
        while(arr[i] <= t && i < j)
            i ++;
        if(i < j)
        {
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
        }
    }
    arr[left] = arr[i];
    arr[i] = t;
    quicksort(left,i - 1,arr);
    quicksort(i + 1,right,arr);
     
}
int main()
{
    int a[] = {5,7,4,2,9,0,8,1,3,6};
    quicksort(0,9,a);
    for(int i = 0;i < 10;i ++)
        cout<<a[i]<<" ";
    cout<<endl;
    return 0;  
}

  

posted on 2014-12-23 23:01  橙风歌  阅读(156)  评论(0)    收藏  举报

导航

< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

统计

点击右上角即可分享
微信分享提示