C++ STL篇之 vector容器 vector的一些基本操作
本篇仅为学习笔记
下面的代码是本篇文章的主要内容
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>t1;
vector<int>t2(10);
vector<int>t3(10, 5);
int i[5] = { 1, 2, 3, 4, 5 };
vector<int>t4(i,i + 2);
vector< vector<int> >t5;
vector<int>v;
v.push_back(100);
for (int i = 1; i <= 10; i++)
{
v.push_back(i);
}
v.pop_back();
v.insert(v.begin(), 99);
v.insert(v.begin(), 5, 88);
vector<int>k(2, 50);
v.insert(v.begin(), k.begin(), k.end());
printf("test\n");
v.erase(v.begin());
v.erase(v.begin(), v.begin() + 4);
cout << v.size() << endl;
cout << v.capacity() << endl;
for (vector<int>::iterator it=v.begin(); it != v.end(); it++)
{
cout << *it << ' ';
}
cout << endl;
v.clear();
cout << v.max_size() << endl;
return 0;
}
如果会可以直接跳过全文.
--------------------------------------------
STL,中文名:标准模板库.
-------------------------------------------
vector容器,可简单理解为动态数组
头文件:#include<vector>
vector容器的定义:
(type为类型,如int,char,struct...)
(val为一个值,由类型决定)
vector<type>v;
vector<type>v(size);
vector<type>v(size,value);
type a[size]={val,val1,val2,...}; vector<type>v(a,a+常数);
vector< vector<type> > v;
代码实例:
vector<int>t1;
vector<int>t2(10);
vector<int>t3(10, 5);
int i[5] = { 1, 2, 3, 4, 5 };
vector<int>t4(i,i + 2);
vector< vector<int> >t5;
vector容器的基操(基本操作)
vector<type>v;
尾插:v.pushback(val);
尾删:v.popback();
插入:v.insert(pos,val);
v.insert(pos,num,val); //num为插入的数量
vector<type>v2; v.insert(v.begin(),v2.begin(),v2.end()); //实现了把v2拷贝进v
删除: v.erase(pos);
v.erase(pos,pos2);
容器大小:v.size();
容器操作时最大开辟的空间 : v.capacity();
遍历整个容器:
vector<type>::iterator it; for(it=v.begin();it!=v.end();it++) { cout<<*it<<endl;//这里的it叫做迭代器,很像指针,第一行代码可以类比指针的定义 }
清空整个容器:v.clear();
vector能开辟的最大空间: v.max_size();
重新设置容器:v.assign();
重新设置容器大小:v.resize();//容器五个元素 重设大小为4 去掉最后一个元素
访问:v.at(num);//num为元素下标
代码实例:
vector<int>v;
v.push_back(100);
for (int i = 1; i <= 10; i++)
{
v.push_back(i);
}
v.pop_back();
v.insert(v.begin(), 99);
v.insert(v.begin(), 5, 88);
vector<int>k(2, 50);
v.insert(v.begin(), k.begin(), k.end());
printf("test\n");
v.erase(v.begin());
v.erase(v.begin(), v.begin() + 4);
cout << v.size() << endl;
cout << v.capacity() << endl;
for (vector<int>::iterator it=v.begin(); it != v.end(); it++)
{
cout << *it << ' ';
}
cout << endl;
v.clear();
cout << v.max_size() << endl;
vector<int>v2(8, 8);
v.assign(v2.begin(),v2.end());
v.clear();
for (int i = 1; i <= 5; i++)
{
v.insert(v.end(),i);
}
v.resize(4);
cout << v[1] << endl;
cout << v.at(3) << endl;
推荐阅读
-
C++:[STL]详解STL之sequence container的操作及使用(vector)
-
C++编程思想 第2卷 第7章 通用容器 基本序列容器:vector list deque 基本序列容器的操作
-
C++ 中STL基本容器中的vector
-
C++:[STL]详解STL之sequence container的操作及使用(vector)
-
c++中vector的一些基本操作
-
C++ STL篇之 vector容器 vector的一些基本操作
-
C++ vector容器和 deque容器的基本操作
-
c++中vector容器的基本操作
-
C++ STL中vector和map的几个基本操作--查看、遍历、删除等
-
【c++】vector容器&set容器的基本操作