容器和算法

来源:互联网 发布:第二基地知乎 编辑:程序博客网 时间:2024/06/05 03:50
第二部分 容器和算法
**********************************************************************************************************************************
第9章 顺序容器
list - 顺序容器
vector、deque - 随机访问顺序容器,迭代器支持算术运算




map的erase方法:
该方法中利用了后++的特点,这个时候执行mapTest.erase(it++);这条语句分为三个过程
1、先把it的值赋值给一个临时变量做为传递给erase的参数变量
2、因为参数处理优先于函数调用,所以接下来执行了it++操作,也就是it现在已经指向了下一个地址
3、再调用erase函数,释放掉第一步中保存的要删除的it的值的临时变量所指的位置
如果只是mapTest.erase(it); 当这条语句执行完后,it就是一个非法指针,如果再执行++就会出错




问题:
1】只有list和deque支持push_front,而vector不支持,但vector是否可以使用vec.insert(vec.begin(), 1)来实现此功能呢?
可以
适配器 - 使一事物的行为类似于另一事物行为的机制,包括容器适配器、迭代器适配器和函数适配器。
         容器适配器让一种已存在的容器类型采用另一种不同的抽象类型的工作方式实现。


**********************************************************************************************************************************
第11章 泛型算法


笔记:
1】11.2.3 对容器元素重新排序的算法 → 5.排序算法:
std::sort使用注意事项:
sort封装了快速排序算法,要求迭代器是随机迭代器,并且是可写的。
如果迭代器不是随机的,那么排序在理论上将变得非常低效;
如果迭代器是不可写,那么将无法进行排序,因为排序要求对迭代器指向的元素进行赋值操作。
如此std::sort算法要求迭代器是可写的随机迭代器。这一点要求使得我们不能在std::set、std::list等以结点形式存储的容器里使用std::sort。
参考:http://cpp.ezbty.org/content/science_doc/c%E6%A0%87%E5%87%86%E5%BA%93%EF%BC%9A%E4%BD%BF%E7%94%A8stdsort


2】11.2.3 对容器元素重新排序的算法 → 5.排序算法:unique、count_if算法的使用




问题:
1】11.2.3 对容器元素重新排序的算法 → 5.排序算法:标准库定义了四种不同的排序算法,除sort和stable_sort外,另外两种排序算法是?


11.2.3 插入迭代器 - back_inserter、front_inserter、inserter
back_inserter函数是一种插入器。插入器是一种迭代器适配器,带有一个容器参数,并生成一个迭代器,用于在指定容器中插入元素。




11.3.2 iostream迭代器 - sum = *item_iter++;运算符优先级该如何判定,是否可以写为:sum = *(item_iter++);?
可以,*与++优先级相同(2级),都是右结合性,因此先计算item_iter++,再将其返回值做解引用运算。
参考:
http://zhidao.baidu.com/question/41848360.html
http://clanguage.h.baike.com/article-74289.html




11.3.3 反向迭代器 - rbegin().base() == end()


迭代器适配器
http://blog.csdn.net/effective_coder/article/details/8733853
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 猫在外面躲起来找不到了怎么办 本科三批取消以后三本学校怎么办 机票名字多了个字母安检怎么办 出隧道口限速40超速了怎么办 社保交了五年后断交以后该怎么办 躺椅折叠椅坐的地方坏了怎么办 苹果手机锁频密码忘了怎么办 客户要货公司不给进怎么办 高铁23:00买的票怎么办 带电子手刹的车刹车失灵怎么办 下坡刹车失灵遇行人不看车怎么办 跟大车后面看不见红灯闯了怎么办 跟着大货车后面闯了红灯怎么办 如果用工单位不发放加班工资怎么办 事故家属要司机向医院多交钱怎么办 在大学里和室友关系弄僵怎么办 房产证办出来房产局不给证怎么办 单位全员竞聘老员工没岗位怎么办 快件被快递公司签收了没给送怎么办 总公司跑路了分公司代理法人怎么办 大使馆领的结婚证现在离婚怎么办 日本签证照片被使馆贴错了怎么办 在菲律宾护照和签证丢了怎么办 新疆工地上班老板不肯发工资怎么办 德国大使馆签证如果拒签了怎么办 护照在大使馆办签证期间出国怎么办 法院两次判决不准离婚我该怎么办? 法院判决不准离婚妻子不回来怎么办 被告人在不调解的情况下怎么办 知道弟兄的孩子是别人的怎么办? 办居住证的回执单丢了怎么办 领取居住证的回执单丢了怎么办 北京居住证网上申报信息填错怎么办 买家退回来的货有问题怎么办 居转户过程中生的小孩户口怎么办 人才引进申请上海户口被拒怎么办 网络购高铁票身份证没有验证怎么办 高速遇到很浓的团雾怎么办 对于大巴不按座位坐的人该怎么办 火车上遇到占座不让的人怎么办 滁州婴儿打疫苗的绿本子怎么办