vector的insert函数用法

今天在刷PAT的时候刷到了1075 链表元素分类,发现了如下操作vector的insert函数用法_第1张图片
vector a 的后面插了两个东西,取查了下API发现了vector的insert函数的用法:
vector的insert函数用法_第2张图片
发现可以在指定位置loc前面插入元素,然后做了一些实验来验证:

My Code:

#include
#include
using namespace std;
int main() {
    vector<int> v1, v2, v3;
    v1.push_back(1);
    v1.push_back(1);
    v1.push_back(1);
    v2.push_back(2);
    v2.push_back(2);
    v2.push_back(2);
    v3.push_back(3);
    v3.push_back(3);
    v3.push_back(3);
    for (auto it = v1.begin(); it != v1.end(); it++) {
        cout << (*it) << " ";
    }
    cout << endl;
    v1.insert(v1.end(), v2.begin(), v2.end());
    for (auto it = v1.begin(); it != v1.end(); it++) {
        cout << (*it) << " ";
    }
    cout << endl;
    v1.insert(v1.end(), v3.begin(), v3.end());
    for (auto it = v1.begin(); it != v1.end(); it++) {
        cout << (*it) << " ";
    }
    return 0;
}

Output:
在这里插入图片描述


Code2:

#include
#include 
using namespace std;
void printVector(vector<int>& v) {

	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
}

//插入和删除
void test01()
{
	vector<int> v1;
	//尾插
	v1.push_back(10);
	v1.push_back(20);
	v1.push_back(30);
	v1.push_back(40);
	v1.push_back(50);
	printVector(v1);
	//尾删
	v1.pop_back();
	printVector(v1);
	//插入
	v1.insert(v1.begin(), 100);
	printVector(v1);

	v1.insert(v1.begin(), 2, 1000);
	printVector(v1);

	//删除
	v1.erase(v1.begin());
	printVector(v1);

	//清空
	v1.erase(v1.begin(), v1.end());
	v1.clear();
	printVector(v1);
}

int main() {

	test01();

	system("pause");

	return 0;
}

Output:
vector的insert函数用法_第3张图片

你可能感兴趣的:(C++,链表,算法,数据结构)