程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> STL之vector使用詳解

STL之vector使用詳解

編輯:C++入門知識

STL之vector使用詳解


好久不用STL了,忘的差不多了,總結一下vector的使用方式,就不對每個方法做出詳細解釋了,只給出了如何用


void testVector()
{
	int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	//構造一個元素值全為2大小為10的vector
	vector v1(10,2);
	//用指針構造
	vector v2(a, a + 10);
	//用vector iterator構造
	vector v3(v2.begin(), v2.end());
	//構造一個和v1一樣的vector
	vector v4(v1);
	
	//使用[]操作符進行遍歷
	cout << "=================v1===============" << endl;
	for (int i = 0; i < v1.size(); i++)
	{
		cout << v1[i] << " ";
	}
	cout << endl;


	
	vector::iterator it;
	//得到第2個元素的iterator
	it = v2.begin() + 1;
	//移除第2個元素,返回移除元素後一個元素的iterator
	vector::iterator erase_it = v2.erase(it);
	cout << *erase_it << endl;
	//移除之後就不能通過iterator訪問了
	//cout << *it << endl;
	//通過iterator 遍歷
	cout << "=================v2===============" << endl;
	for (it = v2.begin();  it != v2.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;

	//逆序遍歷
	cout << "=================v3 reserver======" << endl;
	vector::reverse_iterator rit;
	for ( rit = v3.rbegin(); rit != v3.rend() ; rit++)
	{
		cout << *rit << " ";
	}
	cout << endl;


	cout << "=================v4 swap v3========" << endl;
	//交換v4和v3的內容
	v4.swap(v3);
	for (int i = 0; i < v4.size(); i++)
	{
		cout << v4[i] << " ";
	}
	cout << endl;

	
	cout << "============v4 push pop insert======" << endl;
	//在v4末尾插入100
	v4.push_back(100);
	//將末尾的100移除
	v4.pop_back();
	//在第二個元素位置插入1000
	v4.insert(v4.begin() + 1, 1000);
	//在第二個元素位置插入2個200
	v4.insert(v4.begin() + 1, 2, 200);
	//在第二個元素位置插入2個v1的開始到結束
	v4.insert(v4.begin() + 1, v1.begin(), v1.end());
	for (int i = 0; i < v4.size(); i++)
	{
		cout << v4[i] << " ";
	}
	cout << endl;

	cout << "============v4 clear empty size======" << endl;
	//清除v4中所有內容
	v4.clear();
	//檢查v4是否為空
	if (v4.empty())
	{
		cout << "v4 is empty" << endl;
		cout << "v4 size = "<


以下是測試結果




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved