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笔记相关推荐

  1. C++STL标准库学习笔记(一)sort

    目录 前言: 正文 一.排序(sort) 用法1:对基本类型的数组(int,double,char...)从小到大排序 用法2:对元素类型为T的基本类型数组从大到小排序: 用法3:用自定义的排序规则, ...

  2. C++STL标准库学习笔记(六)multimap

    目录 前言: 正文 1.1multimap的用法 1.2 multimap的应用 后记: 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用 ...

  3. C++STL标准库学习总结/索引/学习建议

    前言: 如果刚刚开始学习STL标准库,不知道从哪里入手学习的话,建议去中国大学mooc平台,先学习北京大学郭炜老师的<程序设计与算法(一)C语言程序设计>(https://www.icou ...

  4. 侯捷C++课程笔记03: STL标准库与泛型编程

    本笔记根据侯捷老师的课程整理而来:STL标准库与泛型编程 pdf版本笔记的下载地址: 笔记03_STL标准库与泛型编程,排版更美观一点(访问密码:3834) 侯捷C++课程笔记03: STL标准库与泛 ...

  5. 《C++标准库》笔记--STL 2

    <C++标准库>笔记--STL 2 关联容器,根据元素的值或是元素的键值,来自动排列他的元素.关联容器是以二叉树形式组织起来的.这几种关联容器之间的区别在于元素的种类,以及处理副本的方式. ...

  6. C++拾取——使用stl标准库实现排序算法及评测

    今天看了一篇文章,讲各种语言的优势和劣势.其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义.这让它在专心研究算法的人中非常受欢迎.所以很多时候,语 ...

  7. C++的STL标准库学习(queue)队列(第四篇)

    queue容器基本概念 Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue容器允许从一端新增元素,从另一端移除元素.  也就是说输入的数据要 ...

  8. C++的STL标准库学习(stack)栈

    stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示.stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法 ...

  9. C++ - STL标准库

    1.C++ STL标准库简介 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出"可重复运用的东西" 的方法,从函数(functions),类别(classes) ...

最新文章

  1. 2022-2028全球及中国呼吸麻醉消耗品行业研究及十四五规划分析报告
  2. [BZOJ4033][HAOI2015]树上染色
  3. C++静态库与动态库(简介)
  4. C语言强数Strong number算法(附完整源码)
  5. Spring 层次性依赖查找Bean
  6. [病毒木马] LSP劫持
  7. 冬奥探秘:那些隐匿在冬奥中的“绿科技”
  8. 一年中最后一个月的最后一天说说_2020年最后一个月的朋友圈说说句子
  9. excel页码怎么设置从4开始?
  10. 【释义详解】Software License (软件许可证)是什么?
  11. E罗斯宝藏网站,收藏起来一定用的到!
  12. MIoU(均交并比)的计算
  13. 阿里云网站备案与域名解析操作流程
  14. 济南大学计算机专硕考研真题,济南大学考研真题各专业汇总
  15. 转载分享)移动金融安全风险分析与防护
  16. 有关绩效考核系统的一些想法
  17. 1603: 海岛争霸
  18. 天津Java培训机构,培训班出来的好就业吗?
  19. 如何正确选择合适自己的英文学习方法和材料?
  20. 看闸机中的“超能英雄”,如何带你智行天下

热门文章

  1. 反恐精英出现服务器消息,cs你已被禁用次服务器 | 手游网游页游攻略大全
  2. php xml 格式化,PHP实现浏览器格式化显示XML的方法示例
  3. html radio 默认图片替换_html,css_如何更改radio、checkbox选项框背景图?,html,css - phpStudy...
  4. Qt 操作words实例 --- 幼儿快算题生成器
  5. 粒子群(PSO)算法简介
  6. Ubuntu16.04LTS下搭建强化学习环境gym、tensorflow
  7. macos访问linux分区,在linux中访问macos 下的分区。
  8. java自动定义一个map类_自定义实现Map类 高效版
  9. 冯山C语言3 15,冯山
  10. 2021-03-01 英文写作中的“许多”