Vector用法 C++: B开头函数

来源:互联网 发布:美国历年gdp数据 编辑:程序博客网 时间:2024/06/04 21:25

头文件:#include <vector>

函数一 back()

vector.back()
作用:获取数组的最后一个元素

代码解释:

int main(){    vector<int> v;    v.push_back(0);    while(v.back() <10){        v.push_back(v.back()+1);    }    while(v.back() > 0 ){        cout << v.back()<<" ";        v.pop_back();//pop_back()用于删除最后一个元素    }    return 0;}

输出显示:

10 9 8 7 6 5 4 3 2 1

分析:

back()适用于有序输入数组元素,但并不适合输出,因为从后向前输出时需要判断第一个数组元素是否是整个数组中最大或者最小,而且需要输出之后需要删除该元素,使得最后元素改变,会对数组做出改变。但是,用于有序输入元素时,比for(int i=0;i

for(int i=v.size()-1;i>=0;i--){    cout << v[i]<<" ";}

输出结果会变为:

10 9 8 7 6 5 4 3 2 1 0

而且上面代码并不能完整输出整个数组,无论如何设置while()中v.back()的值。

函数二 begin()

vector.begin()
作用:返回数组的第一个元素的迭代器

代码解释:

int main(){    vector<int> v;    for(int i=0;i<5;i++){        v.push_back(i);    }    for(vector<int>::iterator it =v.begin();it != v.end();++it){        cout << *it << " ";    }    return 0;}

输出显示:

0 1 2 3 4

分析:

对于iterator的解释: Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。迭代器与聚合对象耦合,应用并不广泛,一般仅用于底层聚合支持类,如STL的list、vector、stack等容器类及ostream_iterator等扩展iterator。因此,back()函数应用并不广泛。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 别人电脑上c盘文件无权访问怎么办 网络已连接但上不了网怎么办 asp复选框选中的有重复值怎么办 邮件在邮递中出现损坏怎么办呢? 爱彩彩票资金密码忘记了怎么办 注册彩票网站忘了资金密码怎么办 电车电瓶加水后电压变低怎么办 电动车电瓶四块电池坏了一块怎么办 把小孩的玩具修坏了怎么办 电动车插头太紧了插不到底怎么办 宜家沙发不能更换布套怎么办 苹果官网买的无线充坏了怎么办 苹果官网上买的耳机坏了怎么办 led灯开关关掉了闪烁是怎么办 我朋友借的网贷光给我打电话怎么办 电脑上的文件变成了图片查看怎么办 外卖店打印机纸卡住打不开了怎么办 微信撤回图片留下一堆代码怎么办 拼多多砍价免费拿砍不到0元怎么办 一岁三个月宝宝老足拉肚子怎么办丶 想打好关系送礼发红包不敢收怎么办 我在相亲市场太受欢迎了怎么办小说 有人报警说我诈骗警察说立案怎么办 微信账号长时间未登录不想要怎么办 手机号注销了百度云登录不了怎么办 申请百度云账号的手机不用了怎么办 新注册的微信号显示账号异常怎么办 注册公众号说邮箱被占用了怎么办 向钱贷登录手机号换了怎么办 qq号绑定的手机号码换了怎么办 用手机号注册的支付宝换号了怎么办 支付宝转的账户手机号消号了怎么办 激活微信账号手机号写错了怎么办 大学试卷没有写名字和考号怎么办 公司被注销了公众号还想要怎么办 公司认证的公众号公司注销了怎么办 信而富注册手机号码不用了怎么办 信而富本时段额度已放完怎么办 知道qq号密码账号忘了怎么办 扣扣绑定的手机号被别人用了怎么办 我的手机号被别人绑定了快手怎么办