设计并测试一个名为Mysort的排序类,要求能够对任意个整数进行升序和降序。请写出完整的程序,上机调试并运行。
#include <iostream>
using namespace std;
#define MAXSIZE 1000
class MySort
{
private:
int a[MAXSIZE];
int len;
public:
MySort() {len = 0;}
MySort(int *p ,int n) {len = n; for(int i=0;i<len;i++) a[i] = p[i];}
void Sort(bool asc)
{
for(int i=0;i<len-1;i++)
for(int j=0;j<len -i-1;j++)
{
if((asc && a[j] > a[j+1]) || (!asc && a[j] < a[j+1]))
{
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
void print() { for(int i=0;i<len;i++) printf("%d ",a[i]);printf("\n");}
void setArray(int *p,int n) {len = n; for(int i=0;i<len;i++) a[i] = p[i];}
};
int main()
{
int a[10] = {3,2,9,8,1,6,7,5,4,0};
MySort ms(a,10);
ms.Sort(true);
ms.print();
return 0;
}