vector实现固定长度数组,数组扩展,元素插入以及元素删除
#include <iostream>
#include <vector>
#include <algorithm>
using std::endl;
using std::cout;
using std::vector;
const static unsigned int ORIGINAL_VECTOR_MAX_SIZE = 20;
class ChangeArraySize
{
private:
unsigned int vector_max_size = ORIGINAL_VECTOR_MAX_SIZE;
public:
ChangeArraySize();
~ChangeArraySize();
//插入元素,返回插入之后的vector大小
template<typename T>
int InsertElement(vector<T>& input_vector, const T& t)
{
//cout << "input_vector.size() is : " << input_vector.size() << endl;
if (input_vector.size() < vector_max_size)
{
input_vector.push_back(t);
}
return input_vector.size();
}
//删除元素,返回删除之后的vector大小
template<typename T>
int DeleteElement(vector<T>& input_vector, const T& t)
{
for (auto it = input_vector.begin(); it != input_vector.end();)
{
//由于使用了模板,此处这样写可能会存在问题
if (*it == t)
{
it = input_vector.erase(it);
}
else
{
it++;
}
}
return input_vector.size();
}
//设置vector大小,返回修改后的vector大小
int SetVectorMaxSize(const unsigned int input_size)
{
if (input_size > vector_max_size)
{
vector_max_size = input_size;
}
return vector_max_size;
}
};