C++快速排序算法

来源:互联网 发布:如何查询淘宝卖家电话 编辑:程序博客网 时间:2024/06/14 02:39
#include<iostream>using namespace std;void Swap(int &p,int &q){int temp;temp = p;p = q;q = temp;}int Partition(int InputArray[],int nLow,int nHigh){int i = nLow+1;int j = nHigh;bool direction = false;while (i <= j){if(direction){if (InputArray[i] > InputArray[nLow]){Swap(InputArray[nLow],InputArray[i]);direction = false;}i++;}else{if (InputArray[j] < InputArray[nLow]){Swap(InputArray[nLow],InputArray[j]);direction = true;}j--;}}return i;}void QuickSort(int InputArray[],int nLow,int nHigh){if (nLow < nHigh){int index = Partition(InputArray,nLow,nHigh);QuickSort(InputArray,nLow,index-1);QuickSort(InputArray,index,nHigh);}}int main(){int array[11] = {15,7, 3, 19, 4, 63, 2, 99, 18, 1, 25};  QuickSort(array, 0, 10);      for(int i = 0; i < 10; i++)      {          cout << array[i] << "  ";      }      cout<<endl;      return 0;  }

原创粉丝点击