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初始化增加的元素


迭代示例:

vector<int> intList;
	vector<int>::iterator intVecIter;

	for (intVecIter = intList.begin();intVecIter != intList.end(); ++intVecIter)
	{
		cout << *intVecIter << endl;
	}


向量访问操作:

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

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

vecList.front()                                    返回第一个元素(不检查容器是否为空)

vecList.back()                                    返回最后一个元素(不检查容器是否为空)

向量容器大小操作:

vecList.capacity()                              不重新分配内存时的最大容量

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

vecList.size()                                      元素个数

vecList.max_size()                            可以插入到容器中的最大个数


示例代码1

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

int main() {
	
	vector<int> intList;
	int i;

	// 从尾部添加4个元素
	intList.push_back(13);
	intList.push_back(75);
	intList.push_back(24);
	intList.push_back(32);

	// 用for循环遍历
	cout << "List Elements: ";
	for(i = 0; i < 4; i++) {
		cout << intList[i] << " ";
	}
	cout << endl;

	for(i = 0; i < 4; i++) {
		intList[i] *= 2;
	}
	cout << "List Elements: ";
	for(i = 0; i < 4; i++) {
		cout << intList[i] << " ";
	}
	cout << endl;

	// 用迭代器遍历
	vector<int>::iterator listIter;
	cout << "List Elements: ";
	for (listIter = intList.begin(); listIter != intList.end(); ++listIter)
	{
		cout << *listIter << " ";
	}
	cout <<endl;

	// 插入元素
	listIter = intList.begin();
	++listIter;
	++listIter;
	intList.insert(listIter,88);

	cout << "List Elements: ";
	for (listIter = intList.begin(); listIter != intList.end(); ++listIter)
	{
		cout << *listIter << " ";
	}
	cout <<endl;


}



原文地址:https://www.cnblogs.com/wjchang/p/3671663.html