设为首页 加入收藏

TOP

C++STL之Vector向量详解,用法和例子 一起学习 一起加油(二)
2018-11-11 16:08:08 】 浏览:263
Tags:STL Vector 向量 详解 用法 例子 一起 学习 加油
tor.begin(); it != avector.end();) { 31 it = avector.erase(it); 32 } 33 for (; it != avector.end(); it++) { 34 cout << *it << ends; 35 } 36 cout << endl; 37 //vector swap()用法 38 cout << tmp.size() << ends << tmp.capacity() << endl; 39 tmp.erase(tmp.begin()+1); 40 cout << tmp.size() << ends << tmp.capacity() << endl; 41 tmp.swap(vec); 42 cout << tmp.size() << ends << tmp.capacity() << endl; 43 for (i = 0; i < vec2.size(); i++) { 44 cout << vec2[i] << endl; 45 } 46 vec2.shrink_to_fit(); 47 cout << vec2.size() << ends << vec2.capacity() << endl; 48 return 0; 49 }

 

//3.迭代器
/*
开始指针vec.begin()
末尾指针: vec.end()
指向常量的开始指针: vec.cbegin()
指向常量的末尾指针: vec.cend()
*/

//4.元素的访问
/*
下标访问: vec[1] //并不会检查是否越界
at方法访问: vec.at[1] //两者的区别就是at会检查是否越界,
是就会抛出out of range异常
访问第一个元素: vec.front()
访问最后一个元素: vec.back()
******* C++11的特性
返回一个指针: int*p=vec.data() // vector在内存中是一个数组,
可以返回一个指针指向这个数组
*/

测试代码 

 1 int main() {  2 vector<char> ave,ml;  3 for (int i = 0; i < 26; i++) {  4 ave.push_back(i + 65);  5 }  6 vector<char>::iterator it = ave.begin();  7 for (; it != ave.end(); it++) {  8 cout << *it << ends;  9 }cout << endl; 10 //元素翻转
11 reverse(ave.begin(), ave.end()); 12 for (it = ave.begin(); it != ave.end(); it++) { 13 cout << *it << ends; 14 }cout << endl; 15 //reverse_copy() reverse_copy(sourceBeg,sourceEnd,destBeg) 16 //将源区间soureBeg sourceEnd 内的元素复制到以destBeg起始的目标区间 17 //并颠倒安置次序
18 reverse_copy(ave.begin(), ave.end(),ml.begin()); 19 //元素排序 20 //sort(vec.begin(), vec.end());
21 for (it = ml.begin(); it != ml.end(); it++) { 22 cout << *it << ends; 23 }cout << endl; 24 return 0; 25 }

本人水平有限如有问题欢迎指出

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇(C/C++学习)17.bitset(位操作) 下一篇my题库

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目