STL标准库vector笔记
vector::assign()用法:
1 #include "stdafx.h" 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5 6 int _tmain(int argc, _TCHAR* argv[]) 7 { 8 int num[]={1,2,3,4,5}; 9 vector<int> vec1(num,num+sizeof(num)/sizeof(int)); 10 ostream_iterator<int> output(cout,"\n"); 11 copy(vec1.begin(),vec1.end(),output); 12 cout<<"第一种用法"<<endl; 13 vec1.assign(6,100); 14 //assign第一种用法:assign(参数1,参数2),参数1为分配n个值,参数2为值。assign会先清除vector再赋值。 15 copy(vec1.begin(),vec1.end(),output); 16 cout<<"第二种用法,vec2复制vec1的值"<<endl; 17 vector<int> vec2; 18 vec2.assign(vec1.begin(),vec1.end());//assign第二种用法,复制参数1到参数2之间的值,注意assign都是先清空再赋值。 19 copy(vec2.begin(),vec2.end(),output); 20 return 0; 21 }
===============
vector::at vector:back
1 #include "stdafx.h" 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5 6 int _tmain(int argc, _TCHAR* argv[]) 7 { 8 vector<char> vec(10); 9 char atvec[]={"ABCDE"}; 10 for(int i=0;i<vec.size();i++) 11 { 12 vec.at(i)=atvec[i]; 13 } 14 ostream_iterator<char>output(cout,"\n"); 15 cout<<"最后一个元素是:"<<endl; 16 cout<<vec.back()<<endl;//返回最后一个元素 17 cout<<"所有元素是:"<<endl; 18 copy(vec.begin(),vec.end(),output); 19 20 return 0; 21 }
使用at()函数可以像操作数组一样操作vector。也可以用[]操作符来访问下标,但是[]会出现访问越界,而at更安全。
===============
vector::capacity 是得到系统自动分配内存的容量。
1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 vector<int> vec; 4 for (int i=0; i<1000; i++) vec.push_back(i); 5 cout << "大小: " << (int) vec.size() << "\n"; 6 cout << "目前分配内存最大容量: " << (int) vec.capacity() << "\n"; 7 cout << "最大大小: " << (int) vec.max_size() << "\n"; 8 return 0; 9 }
================
vector::erase
两种用法
vector<int> vec; for(int i=1;i<10;i++) vec.push_back(); vec.erase(vec.begin()+3);//删除地址3后边一个元素 vec.erase(vec.begin(),vec.begin()+7);//删除参数1到参数2之间的元素 vec.clear()// delete all
==========
其他等用法
vec1.swap(vec2)//交换两者值
vector<int>::reverse_iterator rit;//这个生成的是一个逆向指针
vec.rbegin() ;//返回vector最后一个元素,back()是返回最后一个元素的引用 ver.rend(); //返回一个逆序迭代器,它指向vector容器中的第一个元素的前面一个位置
vec.resize(n,num);//重设vector的大小,多余部分删除。参数1为大小,参数2为值(值只会赋予后边新增的部分,比如原长度是10,使用resize(20),那么多余的10个容量就会用参数2填充。
转载于:https://www.cnblogs.com/buy139/archive/2012/07/31/2617101.html
STL标准库vector笔记相关推荐
- C++STL标准库学习笔记(一)sort
目录 前言: 正文 一.排序(sort) 用法1:对基本类型的数组(int,double,char...)从小到大排序 用法2:对元素类型为T的基本类型数组从大到小排序: 用法3:用自定义的排序规则, ...
- C++STL标准库学习笔记(六)multimap
目录 前言: 正文 1.1multimap的用法 1.2 multimap的应用 后记: 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用 ...
- C++STL标准库学习总结/索引/学习建议
前言: 如果刚刚开始学习STL标准库,不知道从哪里入手学习的话,建议去中国大学mooc平台,先学习北京大学郭炜老师的<程序设计与算法(一)C语言程序设计>(https://www.icou ...
- 侯捷C++课程笔记03: STL标准库与泛型编程
本笔记根据侯捷老师的课程整理而来:STL标准库与泛型编程 pdf版本笔记的下载地址: 笔记03_STL标准库与泛型编程,排版更美观一点(访问密码:3834) 侯捷C++课程笔记03: STL标准库与泛 ...
- 《C++标准库》笔记--STL 2
<C++标准库>笔记--STL 2 关联容器,根据元素的值或是元素的键值,来自动排列他的元素.关联容器是以二叉树形式组织起来的.这几种关联容器之间的区别在于元素的种类,以及处理副本的方式. ...
- C++拾取——使用stl标准库实现排序算法及评测
今天看了一篇文章,讲各种语言的优势和劣势.其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义.这让它在专心研究算法的人中非常受欢迎.所以很多时候,语 ...
- C++的STL标准库学习(queue)队列(第四篇)
queue容器基本概念 Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue容器允许从一端新增元素,从另一端移除元素. 也就是说输入的数据要 ...
- C++的STL标准库学习(stack)栈
stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示.stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法 ...
- C++ - STL标准库
1.C++ STL标准库简介 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出"可重复运用的东西" 的方法,从函数(functions),类别(classes) ...
最新文章
- 2022-2028全球及中国呼吸麻醉消耗品行业研究及十四五规划分析报告
- [BZOJ4033][HAOI2015]树上染色
- C++静态库与动态库(简介)
- C语言强数Strong number算法(附完整源码)
- Spring 层次性依赖查找Bean
- [病毒木马] LSP劫持
- 冬奥探秘:那些隐匿在冬奥中的“绿科技”
- 一年中最后一个月的最后一天说说_2020年最后一个月的朋友圈说说句子
- excel页码怎么设置从4开始?
- 【释义详解】Software License (软件许可证)是什么?
- E罗斯宝藏网站,收藏起来一定用的到!
- MIoU(均交并比)的计算
- 阿里云网站备案与域名解析操作流程
- 济南大学计算机专硕考研真题,济南大学考研真题各专业汇总
- 转载分享)移动金融安全风险分析与防护
- 有关绩效考核系统的一些想法
- 1603: 海岛争霸
- 天津Java培训机构,培训班出来的好就业吗?
- 如何正确选择合适自己的英文学习方法和材料?
- 看闸机中的“超能英雄”,如何带你智行天下
热门文章
- 反恐精英出现服务器消息,cs你已被禁用次服务器 | 手游网游页游攻略大全
- php xml 格式化,PHP实现浏览器格式化显示XML的方法示例
- html radio 默认图片替换_html,css_如何更改radio、checkbox选项框背景图?,html,css - phpStudy...
- Qt 操作words实例 --- 幼儿快算题生成器
- 粒子群(PSO)算法简介
- Ubuntu16.04LTS下搭建强化学习环境gym、tensorflow
- macos访问linux分区,在linux中访问macos 下的分区。
- java自动定义一个map类_自定义实现Map类 高效版
- 冯山C语言3 15,冯山
- 2021-03-01 英文写作中的“许多”