C++ vector
C++ vector 常用方法记录
基础操作:
#include <bits/stdc++.h>
using namespace std;
int ini_a[5] = {2,6,8,7,5};
// 初始化 要利用数组
vector <int> a(ini_a, ini_a+5);
void print()
{
for(int i = 0; i < a.size(); i++)
cout << a[i] << " ";
cout << endl;
}
int main()
{
vector <int>::iterator p;
cout << "First element:" << a.front() << endl;
cout << "Last element:" << a.back() << endl;
// 修改某个元素
a[0] = 7;// 此时变成了 7 6 8 7 5
cout << "修改后变为了:";
print();
// 在第二个元素的位置插入 22
a.insert(a.begin()+1, 22);
cout << "插入后变为了:";
print();
a.push_back(25);
a.push_back(37);
a.pop_back();
cout << "此时变为了:";
print();
// 清除某个元素
a.erase(a.begin());
a.erase(a.begin()+1, a.begin()+3);
cout << "清除后变为了:";
print();
return 0;
}
二维vector数组
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector< vector<int> > s(3);
// 初始化 假设输入的数据是 3*5 的矩阵
for(int i = 0; i < 3; i++) // 这里控制了行数
for(int j = 0; j < 5; j++) //这里控制了列数
s[i].push_back(3);
// 打印一下
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 5; j++)
cout << s[i][j] << " ";
cout << endl;
}
cout << "------------" << endl;
// 假设我要添加一行的话
vector<int> temp ;
temp.push_back(444);
temp.push_back(444);
temp.push_back(444);
temp.push_back(444);
temp.push_back(444);
s.push_back(temp);
// 打印一下
for(int i = 0; i < s.size(); i++)
{
for(int j = 0; j < s[0].size(); j++)
cout << s[i][j] << " ";
cout << endl;
}
return 0;
}
本文来自博客园,作者:CuriosityWang,转载请注明原文链接:https://www.cnblogs.com/curiositywang/p/14623934.html