- 前言
最近几天一直在做紫书第五章的STL,都是英文题目,再加上对STL的了解不是很深刻,所以做起来很吃力,一周时间才仅仅刷完不到一半的题目,今天就来总结总结我这几天刷题的心得,希望以后再做这类题目时能做到游刃有余,还有就是希望我的总结能给家人们带来进步,最后三连别忘了亲。
- 总结
【紫书stl例题A】
vector容器没有find函数,可用lower_boun来返回待查元素的指针,再减去vector的begin()指针就是元素的位置。
binary_search(begin,end,num)返回是否存在num。
lower_search(begin,end,num)返回第一个大于或等于num的指针。
upper_search(begin,end,num)返回第一个大于num的指针。
2. 利用引用作参数实现多返回值
【紫书stl例题B】
在the block中,对于给定的块,要找到它所在的堆以及它在堆中的高度,此时要用引用作函数参数,在函数中将高度赋值给引用,以实现返回所在堆并改变高度。
3. 大小写判断和大小写转换
【紫书stl例题C】
判断是否是大写字母: isupper(),若是返回true,否则返回false;
判断是否是小写字母:islower(),若是返回true,否则返回false;
大写转化为小写字母: tolower();
小写转化为大写字母: toupper()。
4. stringstream 用法
【紫书stl例题C】
stringstream 是 C++ 提供的另一个字符串型的输入输出流,和iostream 类似。在这里使用它可以用空格键来分割字符,从而将单词一个个存入set。
5. 访问set特定位置的元素
【紫书stl例题G】
set容器不能根据下标访问元素,可以将set的内容转存到vector中,通过vector访问特定位置的元素。
其中set转vector 用vector的assign(begin,end),参数begin和end都是set容器的。
6. 判断是否有乱序同字母单词
【紫书stl例题F】
将所有单词按字典序排序存入map中并将value加一,访问时只需判断待查单词的字典序排序后的单词在map中的value是否为1,为1则不存在乱序同字母单词,反之则存在。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)