vector5
Modifiers(功能实现)
这里主要涉及的就是对于单个元素的操作,主要理解和熟练使用这些操作的作用.
1.assign
1)通过输入对应元素来改变
用来改变对应vector内部的空间元素值和空间内字节的大小
string s("1234"); //创建String类
vector<char>v(s.begin(), s.end()); //简单的创建赋值
v.assign(10, 'a'); //将vector内部的空间和对应的字符都发生改变
2) 通过迭代器来改变
string s("1234");
vector<char>v(s.begin(), s.end());
string s2("abcdef");
v.assign(s2.begin(), s2.end()); //用迭代器来进行元素的输入变化
2.push_back
string s("1234");
vector<char>v(s.begin(), s.end());
//对下面的元素进行尾插
v.push_back('1');
v.push_back('2');
v.push_back('3');
v.push_back('4');
v.push_back('5');
3.pop_back
v.push_back('1');
v.push_back('2');
v.push_back('3');
v.push_back('4');
v.push_back('5');
v.pop_back(); //将尾部的元素删除,执行5次
v.pop_back();
v.pop_back();
v.pop_back();
v.pop_back();
4.insert
1)插入单个字符
v.insert(v.begin(), '0'); //首元素位置插入0
2)插入多个
v.insert(--v.end(), 5,'a'); //倒数第二个元素的位置插入5个a
3)插入对应范围内的字符串
v.insert(++v.begin(), s2.begin(), s2.end()); //在第二个元素的位置插入s2的整个字符串
5.erase
1)删除对应位置的字符
string s("abcdef");
vector<char>v(s.begin(), s.end());
v.erase(v.begin()); //删除首元素
2)删除范围内的字符串
v.erase(++v.begin(), --v.end()); //删除第二个元素到倒数第二个元素之间的所有元素
这就是对于内部功能的简单实现,当然还有一个对应的emplace函数,我在下一篇单独写出来