最近写pta 上的题目,由于只会c,很多东西还要手打,很慢。
于是开始学习c++的STL一些常见简单的操作。新手友好,高手劝退。

  • vector:不定长数组
  • 头文件#include<vecotor>
  • 定义:vector<int >op这样相当于一维数组
  • vector<int>op[200]相当与二维数组,不过第一维的大小是固定的200
  • 此外vector<string>类似于string a[ ]的字符串数组。

一些常见操作

1.push_back() 向尾部添加元素
2.pop_back() 删除尾部元素
3.size() 返回数组大小(多少个元素)
4.clear()清空数组
5.empty() 判断为空,若为空,返回true
6.front() 返回第一个元素
7.back()返回最后一个元素
8. begin() 返回指向第一个元素的迭代器(用法,比如sort( op.begin(),op.end(),cmp);

常识理解:
1.输入篇:

  • C语言数组 int op[50],可以直接op[0]=值。
  • vector要push_back才行
    比如,这样是不对的
 vector<int >ve[50];int n=41;ve[0][0]=n;printf("%d\n",n);printf("%d",ve[0][0]);

如果先pushback,在用下标进行初始化赋值,这样可以输出,就相当于二维数组了。而vector的优势根据元素动态申请内存荡然无存。
如果再用push_back的话,用下标初始赋值的值就会消失。但是当用pushback赋值后,是可以通过下标来修改元素的值。

 vector<int >ve[50];int n=41;ve[0].push_back(n);ve[0][2]=6;ve[0].push_back(3);printf("%d\n",n);printf("%d",ve[0][1]); //输出的会是3,而6在原位置也找不到了

2.赋值篇

vector< int > ivec( 7 ,9);

数组开了7个空间,元素全部置为9

#include<vector>
#include<stdio.h>
using namespace std;
int main(void)
{vector<int >ve(7,9);for(int i=0;i<=6;i++)printf("%d\n",ve[i]);
}

或者可用一个数组对vector型的进行赋值
int op[5]={-1,2,3,4,5};
vector< int >ve(op,op+2);第一个参数是起始位置,第二个是结束位置的下一位指针。(同sort),此时ve[0]=-1,ve[1]=2;

c++ vector简单使用相关推荐

  1. C++线性序列容器vector简单总结

    C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...

  2. vector简单实现

    #include<iostream> "https://github.com/fookwood/fkcode/network" template<class Ob ...

  3. vector简单应用

    输出vector中元素,以及插入删除元素 #include<iostream> #include<vector> using namespace std; template&l ...

  4. C++ vector简单demo

    #include <iostream> #include <vector> using namespace std;int main(){vector<int> v ...

  5. C++中的可变长数组(vector)

    变长数组vector vector译为向量,一般来说也叫变长数组,也就是长度可以任意变化的数组,有些题目需要开很多数组,往往造成内存超限,使用vector简单方便,还可节省空间. 头文件 vector ...

  6. 简单的立体旋转特效DEMO实现

    写在最前:  前两天我们这边接到公司做教育那块的一个活儿,要做一个比较炫酷的3D旋转特效,拿到网页一看,别人是用Three.js去实现的,确实比较狂拽.但是我对这个只是了解一点点,还不到能用它做出成熟 ...

  7. 终于把微软BING搜索-SPTAG算法的原理搞清了

    作者 | beyondma 转载自 CSDN 博客 近日,微软在GitHub上开源了其BING的搜索算法SPTAG,github地址:https://github.com/microsoft/SPTA ...

  8. SZOJ 142 钦定

    太暴力了QAQ 题目描述 现在有n个人,每个人有责任度bi和影帝度wi,要从中钦定一个长老团 我们知道,一个好的长老团,他的责任度要越高越好,而为了防止_____,影帝度则不能超过给定的WW 此外,这 ...

  9. 编程常用英语词汇 | GitHub

    Table of Contents A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 专业名词 A 英文 译法 1 译法 2 译法 3 a blo ...

最新文章

  1. 基于协同过滤算法实现选课推荐系统
  2. hibernate插入DB时间
  3. 自定义取值距离的javascript random()函数
  4. uni-app 使用vue的语法+小程序的标签和API。
  5. linux java c++,Java C++ 服务比较
  6. PHP原生类反序列化
  7. java获取apk启动activity_兼容 Android 10 启动 APK 实现方案
  8. jzoj3519-灵能矩阵【LCM,树形dp】
  9. twisted系列教程五–改进twisted poetry client
  10. 打包到指定目录_linux中打包文件tar命令的简单用法
  11. JS规则 自加一,自减一 ( ++和- -) 【mynum = mynum + 1;//等同于mynum++;】
  12. 使用 Docker Machine 添加机器记录
  13. 极化码理论及算法研究后续(代码讲解)
  14. 中国安检设备行业市场发展分析及前景趋势展望报告2022-2028年
  15. 大数据时代,企业如何做好数据防泄漏?
  16. 【Linux】ps -ef 和ps aux 有什么不同呢?
  17. TPTP Web性能监控
  18. Postgresql总结几种HA的部署方式
  19. 梅尔加尼服务器状态,梅尔加尼服务器第二界闪光平原暴力竞走大赛
  20. 特色在哪?深度剖析3D游戏画面

热门文章

  1. (转)基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
  2. 英特尔、高通争战物联网芯片 下个霸主会是谁
  3. 【转】DHCP工作过程详解
  4. Mysql 内部结构 / Replication | 原理
  5. 端口基础常识大全+常用端口对照
  6. 慢慢学Linux驱动开发,第七篇,scull的使用
  7. 【Vegas原创】outlook连接exchange需要密码的解决方法
  8. 论网络营销在我国的发展
  9. 操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上.有关详细信息,请单帮助...
  10. 进制转换数据结构c语言不用栈,急求!!!用数据结构(C语言)利用栈实现十进制向二(八)进制转换,要有注释,谢谢!...