在Sort.h内加入:
class QuickSort :public Sort
{
public:
virtual void sortSeq(int a[], int n);
void sort(int a[], int n, int left, int right);
};
增加Quick.cpp文件:
#include"Sort.h"
void QuickSort::sortSeq(int a[], int n)
{
cout << “Quick sort” << endl;
sort(a, n, 0, n);
}
void QuickSort::sort(int a[], int n, int left, int right)
{
if (left < right)
{
int l = left + 1;
int r = right - 1;
int mid = a[left];
while (true)
{
while (l <= r && a[l] < mid)
l++;
while (l <= r && a[r] >= mid)
r--;
if (l > r)
break;
else
{
int temp1;
temp1 = a[l];
a[l] = a[r];
a[r] = temp1;
}
}
a[left] = a[r];
a[r] = mid;
sort(a, n, left, r);
sort(a, n, r + 1, right);
}
}