定义一个数组类模板Array,完成以下工作:输入、输出、排序。
时间: 2024-05-12 11:19:54 浏览: 76
以下是一个简单的数组类模板Array的实现:
```cpp
template<typename T, int size>
class Array {
private:
T data[size];
public:
Array() {}
void input() {
for(int i = 0; i < size; i++) {
cin >> data[i];
}
}
void output() {
for(int i = 0; i < size; i++) {
cout << data[i] << " ";
}
cout << endl;
}
void sort() {
for(int i = 0; i < size - 1; i++) {
for(int j = i + 1; j < size; j++) {
if(data[j] < data[i]) {
swap(data[i], data[j]);
}
}
}
}
};
```
在这个模板中,我们使用了模板参数T和size,分别表示数组的元素类型和大小。在类的私有部分,我们定义了一个T类型的数组data[size],用于存储数组的元素。在公有部分,我们定义了三个函数:input、output和sort。
input函数用于从标准输入流中读入数组的元素,它使用一个循环来遍历数组的所有元素,并使用cin读入每个元素。
output函数用于将数组的元素输出到标准输出流中,它也使用一个循环来遍历数组的所有元素,并使用cout输出每个元素。
sort函数用于对数组的元素进行排序,它使用两个循环来遍历数组的所有元素,并使用swap函数来交换需要调换的元素。
在使用这个模板时,我们需要在定义一个Array类型的对象时指定T和size的值,例如:
```cpp
Array<int, 5> a; // 定义一个包含5个int类型元素的数组
```
然后我们就可以使用对象的input、output和sort函数来完成输入、输出和排序操作了,例如:
```cpp
a.input(); // 从标准输入流中读入5个int类型的元素
a.output(); // 输出这5个元素
a.sort(); // 对这5个元素进行排序
a.output(); // 输出排序后的结果
```
阅读全文