自行实现的vector容器测试程序
vector是C++ STL库中最常用的容器之一,但是我们也可以自己动手实现一个vector容器。本文将会展示如何通过C++语言来实现一个自定义的vector容器,并提供对该容器进行测试的程序。
我们需要定义一个包含以下几个基本特性的vector容器:
- 以动态方式分配内存
- 元素的访问时间复杂度为O(1)
- 自动扩展容量
下面是实现自定义vector容器的代码:
template <typename T>
class Vector {
private:
T* array;
int size;
int capacity;
public:
Vector() {
this->size = 0;
this->capacity = 1;
this->array = new T[this->capacity];
}
~Vector() {
delete[] this->array;
}
void push_back(T value) {
if (this->size == this->capacity) {
this->capacity *= 2;
T* new_array = new T[this->capacity];
for (int i = 0; i < this->size; i++