/*
*Copyright(c)2016.烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作者:黄金婵
*完成日期:2016年6月19日
*版本号:v1.0
*
*问题描述:阅读并运行程序,解释程序执行得到的结果
*程序输入:
*程序输出:
*/
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> intList;
vector<int>::iterator listIt;
int i;
intList.push_back(1);
intList.push_back(5);
intList.push_back(10);
intList.push_back(15);
cout<<"Line 1: List Elements: ";
for(i=0; i<4; i++)
cout<<intList[i]<<" ";
cout<<endl;
for(i=0; i<4; i++)
intList[i] *=2;
cout<<"Line 2: List Elements: ";
for(listIt=intList.begin(); listIt != intList.end(); ++listIt)
cout<<*listIt<<" ";
cout<<endl;
listIt=intList.begin();
++listIt;
++listIt;
intList.insert(listIt,8);
cout<<"Line 3: List Elements: ";
for(listIt = intList.begin(); listIt != intList.end(); ++listIt)
cout<<*listIt<<" ";
cout<<endl;
return 0;
}
知识点总结:
所谓序列式容器,当中的元素都可序(ordered),但未必有序(sorted)。数组为C++语言内置的序列容器,STL另外提供vector、list、deque(double-ended queue)。它们的区别在于訪问元素的方式,以及加入或删除元素相关操作的执行代价。
标准库还提供了三种容器适配器(adapter),所谓适配器是依据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型。顺序容器适配器包含stack、queue、priority_queue等序列式容器。当中stack和queue因为仅仅是将deque改头换面而成,技术上被归类为一种配接器(adapter),priority_queue是有优先级管理的队列。