STL順序容器之向量(vector)

1,構造方法:

  1. vector<type> vecList                                        創建一個沒有任何元素的向量
  2. vector<type> vecList(otherVecList)               用另一個類型相同向量初始化該向量
  3. vector<type> vecList(size)                              初始化一個固定size的向量
  4. vector<type> vecList(n, element)                  初始化n個相同元素的向量
  5. vector<type> vecList(begin,end)                   初始化向量中的某一段元素,從begin 到 end - 1

2 ,操作(插入,刪除,遍歷)

  1. vecList.clear()                                                   從容器中刪除所有元素
  2. vecList.erase(position)                                   刪除指定位置的元素
  3. vecList.erase(begin,end)                               刪除一段元素,從begin 到end -1
  4. vecList.insert(position,element)                   插入元素到指定位置上
  5. vecList.insert(position.n,element)                插入n個相同元素到指定位置上
  6. vecList.insert(position,begin,end)                將自身的begin到end -1的元素插入到指定位置上
  7. vecList.push_back(element)                         在末尾添加一個元素
  8. vecList.pop_back()                                           刪除最後一個元素
  9. vecList.resize(num)                                         將元素個數改爲num,用默認構造函數初始化增加的元素
  10. vecList.resize(num,elem)                               將元素個數改爲num,用elem初始化增加的元素

向量訪問操作:

1.vecList.at(index)                                返回指定位置上的元素

2.vecList[index]                                     返回指定位置上的元素

3.vecList.front()                                    返回第一個元素(不檢查容器是否爲空)

4.vecList.back()                                    返回最後一個元素(不檢查容器是否爲空)

向量容器大小操作:

1.vecList.capacity()                              不重新分配內存時的最大容量

2.vecList.empty()                                  空返回true,非空返回false

3.vecList.size()                                      元素個數

4.vecList.max_size()                            可以插入到容器中的最大個數


實例:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<int> list;
	int i;
	//從尾部加入元素
	list.push_back(12);
	list.push_back(15);
	list.push_back(16);
	list.push_back(18);
	cout<<"list elements:";
	//for遍歷
	for(i=0;i<4;i++)
	{
		cout<<list[i]<<" ";
	}
	cout<<endl;
	for(i=0;i<4;i++)
	{
		list[i]*=2;
	}
	cout<<"list elements:";
	for(i=0;i<4;i++)
	{
		cout<<list[i]<<" ";
	}
	cout<<endl;
	//用迭代器遍歷
	vector<int>::iterator listIter;
	cout<<"list elements:";
	for(listIter=list.begin();listIter!=list.end();++listIter)
	{
		cout<<*listIter<<" ";
	}
	cout<<endl;
	listIter = list.begin();
	++listIter;//listIter = 30;
	list.insert(listIter,88);//插入到30這個位置
	cout<<"list elements:";
	for(listIter=list.begin();listIter!=list.end();++listIter)
	{
		cout<<*listIter<<" ";
	}
	cout<<endl;
	return 0;
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章