给这个代码一个main函数template <typename T> class Vector { private: T* data; //存储向量元素的数组 int capacity; //当前向量的存储容量 int length; //向量中元素的个数 public: //默认构造函数 Vector() { capacity = 1; length = 0; data = new T[capacity]; } //析构函数 ~Vector() { delete[] data; } //在表尾插入元素 void push_back(T value) { if (length == capacity) { capacity *= 2; T* newdata = new T[capacity]; for (int i = 0; i < length; i++) { newdata[i] = data[i]; } delete[] data; data = newdata; } data[length] = value; length++; } //在向量的某位置插入元素 void insert(int index, T value) { if (index < 0 || index > length) { return; } if (length == capacity) { capacity *= 2; T* newdata = new T[capacity]; for (int i = 0; i < length; i++) { newdata[i] = data[i]; } delete[] data; data = newdata; } for (int i = length - 1; i >= index; i--) { data[i + 1] = data[i]; } data[index] = value; length++; } //清空向量中的元素 void clear() { length = 0; } //返回向量中元素的个数 int size() { return length; } //判断是否为空 bool empty() { return length == 0; } //删除元素 void erase(int index) { if (index < 0 || index >= length) { return; } for (int i = index; i < length - 1; i++) { data[i] = data[i + 1]; } length--; } };
时间: 2023-06-09 08:08:27 浏览: 76
你的问题是:请问这个类模板 Vector 实现了哪些功能并且该如何使用它?
这个类模板 Vector 实现了以下功能:
1. 存储向量元素的数组;
2. 当前向量的存储容量;
3. 向量中元素的个数;
4. 在表尾插入元素;
5. 在向量的某位置插入元素;
6. 清空向量中的元素;
7. 返回向量中元素的个数;
8. 判断向量是否为空;
9. 删除元素。
使用 Vector 类模板时,需要在程序的开头加上 #include "Vector.h",然后在 main 函数中定义 Vector 的对象,如:
```c++
#include "Vector.h"
int main()
{
Vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.insert(1, 4);
v.erase(2);
v.clear();
return 0;
}
```
在这个例子中,我们定义了一个存储 int 类型变量的 Vector 对象 v,并调用了 Vector 中的函数实现了在表尾插入元素、在向量的某位置插入元素、删除元素和清空向量中的元素。
阅读全文