实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。
每行输入的第一个数字为0,1,2或3:为0时表示输入结束; 为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。
如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量。
template<class T>
class MyArray {
private:
T* data;
int size;
public:
MyArray(int size);
bool check();
void sort();
void display();
~MyArray();
};
template<class T>
MyArray<T>::MyArray(int size) {
this->size = size;
data = new T[size];
for (int i = 0; i < size; i++) {
cin >> data[i];
}
}
template<class T>
void MyArray<T>::sort() {
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) {
if (data[i] > data[j]) {
T temp;
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
}
template<class T>
void MyArray<T>::display() {
for (int i = 0; i < size; i++) {
cout << data[i];
if (i == size - 1) cout << endl;
else cout << " ";
}
}