主要实现功能:
resize(n)
:容器大小改为n
reserve(n)
:空间开辟大小改为n
push_back(n)
:向数组末尾推入一个元素n
size()
:返回当前容器大小
capcity()
:返回开辟空间大小
front()
:返回第一个元素
back()
:返回最后一个元素
pop_back()
:删除最后一个元素
erase(int n)
:删除下标为n的元素 (与pop_back()
不一样,复杂度是o(n)的,stl中vector由于涉及迭代器,这里简化了)
以上所有功能涉及下标取值时如果超过size()大小会抛出异常。
之后可能会添加其他功能…
#include<iostream>
using namespace std;
#ifndef VECTOR_H
#define VECTOR_H
template<typename Object>
class vector
{
private:
int this_capcity;
int this_size;
Object* object;
public:
vector() :this_capcity(5), this_size(0)
{
object = new Object[5];
}
explicit vector(int thisCapcity):this_capcity(thisCapcity), this_size(0)
{
object = new Object[thisCapcity];
}
vector(const vector& v)
{
*this = v;
}
~vector()
{