vector(篇)

打铁ing~
有组队的吗?一起不咯!
淦!!!

#include<vector>
#include<iostream>
using namespace std;

int main()
{
	int s[5] = { 3,5,7,8,9 };

	vector<int> a1;
	vector<int> a2(4, 88);
	vector<int> a3(a2);  //复制
	vector<int> a4(s,s+5);
	//迭代器式遍历动态数组
	vector<int>::iterator it; 
	for (it = a4.begin(); it != a4.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
	//数组
	int a = a4[4];
	cout << a<<endl;
	//size()
	cout << "a4 的大小:" << a4.size() << endl;
	//front() back()
	cout << "a4的第一个:" << a4.front() << endl;
	cout << "a4的最后一个:" << a4.back() << endl;
	//clear()
	a2.clear();
	for (it = a2.begin(); it != a2.end(); it++)
	{
		cout << *it << " ";
	}
	cout <<"!!!"<< endl;
	//empty()   空就返回1 非空返回 0
	if (bool is_empty = a2.empty())
		cout << "NO!" << endl;

	int x = a4.empty();
	cout << "x="<<x<<endl;
	//swap()  动态交换
	int b1[4] = { 1,3,5,7 };
	int b2[5] = { 2,4,6,8,10 };

	vector<int> b3(b1, b1 + 4);
	vector<int> b4(b2, b2 + 5);

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

	vector<int>::iterator it2;
	for (it2 = b4.begin(); it2 != b4.end(); it2++)
	{
		cout << *it2 << " ";
	}
	cout << endl;
	cout << "swap交换后:" << endl;

	b3.swap(b4);
	vector<int>::iterator it3;
	for (it3 = b3.begin(); it3 != b3.end(); it3++)
	{
		cout << *it3 << " ";
	}
	cout << endl;

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

	//push_back() 向动态数组尾部插入一个元素
 
	a4.push_back(100);
	cout << "push_back后:" << endl;
	vector<int>::iterator it5;
	for (it5 = a4.begin(); it5 != a4.end(); it5++)
	{
		cout << *it5 << " ";
	}
	cout << endl;

	//insert()  begin()+i / end()
	//insert(begin()+i,j(想要插入的个数),n(插入的值))   
	a4.insert(a4.begin()+2,3, 101);
	cout << "insert后:" << endl;

	vector<int>::iterator it6;
	for (it6 = a4.begin(); it6 != a4.end(); it6++)
	{
		cout << *it6 << " ";
	}
	cout << endl;
	cout << endl;
	cout << endl;
	//将一个数组插入到vector中
	cout << "将一个数组插入到vector中:"<<endl;
	int c0[3] = { 1,2,3 };
	int c1[4] = { 4,5,6,7 };
	vector<int> c3(c0,c0+3);
	c3.insert(c3.end(), c1, c1 + sizeof(c1) / sizeof(int));
	vector<int>::iterator it7;
	for (it7 = c3.begin(); it7 != c3.end(); it7++)
	{
		cout << *it7 << " ";
	}
	cout << endl;

	//pop_back()  删除结尾的元素
	cout << "删除结尾的元素后:" << endl;
	c3.pop_back();
	vector<int>::iterator it8;
	for (it8 = c3.begin(); it8 != c3.end(); it8++)
	{
		cout << *it8 << " ";
	}
	cout << endl;
	
	//pop_back_n(i) 删除多个
	cout << "删除结尾的n个元素后:" << endl;

	c3._Pop_back_n(3);
	vector<int>::iterator it9;
	for (it9 = c3.begin(); it9 != c3.end(); it9++)
	{
		cout << *it9 << " ";
	}
	cout << endl;

	//erase(c3.begin()+i) 删除某位置的元素
	cout << " 删除某i位置的元素后:" << endl;
	c3.erase(c3.begin() + 2);

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

	//erase(c3.begin()+i,c3.begin()+j) 删除从i到j的元素

	cout << " 删除从i到j的元素后:" << endl;

	int d[10] = { 1,2,3,4,5,6,7,8,9,10 };
	vector<int> d1(d, d + 10);

	d1.erase(d1.begin() + 2, d1.begin() + 5);

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

习题:将vector a中插入{1,4,3,7,9,3,6,8,3,5,2,3,7},删除等于3的元素,打印结果

int a[] = { 1,4,3,7,9,3,6,8,3,5,2,3,7 };
	vector<int> a1(a, a + sizeof(a) / sizeof(int));

	for (int i = 0; i < a1.size(); i++)
	{
		if (a1[i] == 3)
		{
			a1.erase(a1.begin() + i);
		}
	}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值