时光飞逝~

快速排序
template <class T>
void QuickSort(T *a,int left, int right)
{
    if(left>=right)
        return;
    int l = left;
    int r = right;
    T pivot = a[left];
    while(l!=r)
    {
        while(l<r && a[r]>pivot) r--;
        a[l] = a[r];
        while(l<r && a[l]<pivot) l++;
        a[r] = a[l];
    }
    a[l] = pivot;
    QuickSort(a,left,l-1);
    QuickSort(a,l+1,right);
}
void main()
{
    int a[15] = {3,6,7,8,5,4,9,0,2,1,23,45,28,97,12};
    QuickSort(a,0,14);
    for(int i=0; i<15;i++)
        printf("%d ",a[i]);
    printf("\n");
}

 

posted on 2013-07-09 00:52  时光飞逝~  阅读(163)  评论(0)    收藏  举报