算法入門-快速排序-基本快速排序方法

#include <cstdlib>
#include <iostream>
using namespace std;
int a[10]={49,38, 65, 97, 76, 13, 27 };
void exchange(int p,int q)
{
     int temp;
     temp = a[p];
     a[p] = a[q];
     a[q] = temp;
}
void quicksort(int begin, int end)
{
     int p,r;
     int key = a[begin];
     p = begin; r = end;
     if(p>r)
         return;
     while(p<r)
     {
          while((p<r)&&a[r]>=key)
              r--;
          swap(a[p],a[r]);
          while((p<r)&&a[p]<key)
              p++;
          swap(a[r],a[p]);
     }
     quicksort(begin,r-1);
     quicksort(r+1,end);
}
int main(int argc, char *argv[])
{
    int length = 7;
    quicksort(0,6);
    int i=0;
    for(i=0;i<7;i++)
     printf("%d ",a[i]);
    system("PAUSE");
    return EXIT_SUCCESS;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章