编译通不过,该如何修改?
1001. 可排序数组 总提交数量: 579 通过数量: 124
时间限制:1秒 内存限制:256兆 题目描述
可排序数组 SortableArray定义如下:
1. 可通过成员函数pushBack插入一个元素
2.可通过成员函数sort对数组进行升序排序
3.可通过成员函printArray数输出数组
4.可排序数组SortableArray是一个模板类
5.SortableArray的实例:SortableArray<int> array( maxArraySize ) ;
(请实现SortableArray,注意在提交的代码中请不要包含 main()函数 )
输入格式
测试框架如下:
int maxSize = 10 ;
SortableArray< int > arr( maxSize ) ;
arr.pushBack( 45 ) ;
arr.pushBack( 32 ) ;
arr.pushBack( 41 ) ;
arr.printArray() ;
arr.sort() ;
arr.printfArray() ;
输出格式
45 32 41
32 41 45
我的代码是这样的,希望大家指正?
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
template <typename T>
class SortableArray
{
public:
SortableArray(int a)
{
maxSize= a;
}
void pushBack(T a)
{
m[i]=a;
i=i+1;
}
void printArray()
{int j;
for(j=0;j<maxSize;j++)
{
cout<<m[j]<<" ";
}
cout<<endl<<endl;
}
void sort ()
{
int p,q;
for(p=1;p<maxSize;p++)
{
for(q=0;q<maxSize-1;q++)
{
T temp;
if(m[q]>m[q+1])
{
temp=m[q];
m[q]=m[q+1];
m[q+1]=temp;
}
}
}
}
int maxSize;
static int i;
T m[10000];
};
template<>
int SortableArray<int>::i=0;
int main()
{
int maxSize = 10 ;
SortableArray< int > arr( maxSize ) ;
arr.pushBack( 45 ) ;
arr.pushBack( 32 ) ;
arr.pushBack( 41 ) ;
arr.printArray() ;
arr.sort() ;
arr.printArray() ;
return 0;
}