重庆网站免费优化,WordPress中文king主题,潍坊网站维护,常见的网络营销方式有哪些一、容器的修改 容器修改函数 insert()#xff1a;在指定位置插入一个或多个元素erase()#xff1a;删除指定位置或指定范围的元素push_back()#xff1a;将元素添加到容器的末尾pop_back()#xff1a;删除容器的最后一个元素 push_front()#xff1a;将元素添加到容器的开…一、容器的修改 容器修改函数 insert()在指定位置插入一个或多个元素erase()删除指定位置或指定范围的元素push_back()将元素添加到容器的末尾pop_back()删除容器的最后一个元素 push_front()将元素添加到容器的开头pop_front()删除容器的第一个元素resize()改变容器的大小capacity()输出的是Vector数组内部存储空间的容量大小
注1、动态数组Vector没有提供头部增删push_front()、pop_front()功能和数组一样删除除尾部索引的需要修改后面元素的索引值很繁琐链表list有。
2、resize()改变容器的大小能容纳的元素个数。
代码示例通过上述函数实现动态数组vector的增删改查。
#include vector
#include list
#include iostream
#include string
using namespace std;int main()
{vectorintvec {1,2,3,4,5};listintlst {1,2,3,4,5};auto it vec.begin();vec.insert(it 2,10);//在第三个位置插入元素10迭代器加法操作只适用于vector容器操作it vec.begin();vec.erase(it 1);//删除第二个元素// 使用push_back()和pop_back()函数在容器尾部添加和删除元素vec.pop_back();//删除末尾元素vec.push_back(6);//添加末尾元素6// for(it vec.begin();it ! vec.end();it)// {// if(it ! vec.end()-1)// cout*it,;// else// cout*it;// }for(auto i:vec)//foreach遍历{couti,;}coutendl;coutvec动态数组的容器中元素个数是vec.capacity()endl;vec.resize(20);cout修改容器大小后的容器元素个数:vec.capacity()endl;// cout容器vec所占内存空间大小为:sizeof(vec)字节endl;// 使用push_front()和pop_front()函数在容器头部添加和删除元素lst.pop_front();lst.push_front(10);coutlst中的元素有:;for(auto i lst.begin();i ! lst.end();i){if(i ! lst.end()--)cout*i,;elsecout*i;}return 0;
}
运行结果
1,10,3,4,6,
vec动态数组的容器中元素个数是10
修改容器大小后的容器元素个数:20
容器vec所占内存空间大小为:24字节
lst中的元素有:10,2,3,4,5, 二、容器的操作 容器操作函数 sort()对容器中的元素进行排序 (不适用于list) reverse()将容器中的元素反转unique()去除容器中相邻的重复元素count()计算容器中指定元素的数量find()在容器中查找指定元素并返回其位置的迭代器remove()从容器中删除指定元素将要删除元素移到末尾
注unique()、remove()函数操作方式vector和list不同list链表可以直接使用而vector需要配合erase()删除操作才能使用。
vector代码示例
vec.erase(unique(vec.begin(),vec.end()),vec.end());
//将相邻并相等的元素取其一移动到数组的后面
//返回移动到数组末尾的第一个元素的迭代器
//最后将移动到数组末尾的元素进行删除。vec.erase(remove(vec.begin(),vec.end(),4),vec.end());
//将要移除的元素4移动到数组的后面
//返回移动到数组末尾的第一个元素的迭代器
//最后将移动到数组末尾的元素进行删除。
list代码示例
lst.unique();
lst.remove(4); 三、案例代码
代码示例
#include iostream
#include vector
#include list
#include algorithm
using namespace std;int main()
{vectorintvec {5,3,3,1,4,2};listintlst {5,3,3,1,4,2};sort(vec.begin(),vec.end());for(auto it vec.begin();it ! vec.end();it){if(it ! vec.end()-1)cout*it,;elsecout*it;}coutendl;reverse(vec.begin(),vec.end());cout---------------endl;for(auto it vec.begin();it ! vec.end();it){if(it ! vec.end()-1)cout*it,;elsecout*it;}coutendl;vec.erase(unique(vec.begin(),vec.end()),vec.end());cout---------------endl;for(auto it vec.begin();it ! vec.end();it){if(it ! vec.end()-1)cout*it,;elsecout*it;}coutendl;vec.erase(remove(vec.begin(),vec.end(),4),vec.end());cout---------------endl;for(auto it vec.begin();it ! vec.end();it){if(it ! vec.end()-1)cout*it,;elsecout*it;}coutendl;lst.sort();lst.unique();lst.remove(4);cout---------------endl;auto i lst.begin();advance(i,lst.size()-1);for(auto it lst.begin();it ! lst.end();it){if(it ! i)cout*it,;elsecout*it;}coutendl;return 0;
}
运行结果
1,2,3,3,4,5
---------------
5,4,3,3,2,1
---------------
5,4,3,2,1
---------------
5,3,2,1
---------------
1,2,3,5