C++ vector

C++ vector 常用方法记录

image-20210406210826892

基础操作:

#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;


}

image-20210408200751598
posted @ 2021-04-06 21:49  CuriosityWang  阅读(57)  评论(0编辑  收藏  举报