C++ List 容器(二)
开发工具与关键技术:Visual Studio、C++
作者:张国军
撰写时间:2019年07月26日
list 的数据存取
#include <iostream>
#include <list>
using namespace std;
void stackshow(list<int>& s) {
for (list<int>::iterator it = s.begin(); it != s.end();it++)
{
cout << *it<<" ";
}
cout << endl;
}
void main()
{
//list.front(); //返回第一个元素。
//list.back(); //返回最后一个元素。
list<int> lstInt;
lstInt.push_back(1);
lstInt.push_back(3);
lstInt.push_back(5);
lstInt.push_back(7);
lstInt.push_back(9);
cout << "----stackshow(lstInt);-----"<<endl;
stackshow(lstInt);
int iFront = lstInt.front(); //1
cout << "lstInt.front():\t"<< iFront << endl;
int iBack = lstInt.back(); //9
cout << "lstInt.back():\t" << iBack << endl;
lstInt.front() = 11; //11
cout << "----lstInt.front() = 11;-----" << endl;
stackshow(lstInt);
lstInt.back() = 19;
cout << "----lstInt.back() = 19;-----" << endl;
stackshow(lstInt);
}
list 的大小
void main()
{
//list.size(); //返回容器中元素的个数
//list.empty(); //判断容器是否为空
//list.resize(num); //重新指定容器的长度为 num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
//list.resize(num, elem); //重新指定容器的长度为 num,若容器变长,
//则以 elem 值填充新位置。如果容器变短,则末尾超出容器长度的元素被
// 删除。
list<int> stkInt;
stkInt.push_back(1);
stkInt.push_back(3);
stkInt.push_back(5);
if (!stkInt.empty())//判断是否为空
{
int iSize = stkInt.size(); //3
cout << "stkInt.size():" << iSize << endl;
stkInt.resize(5); //1 3 5 0 0
cout << "---stkInt.resize(5);---"<<endl;
stackshow(stkInt);
stkInt.resize(7, 1); //1 3 5 0 0 1 1
cout << "---stkInt.resize(7, 1);---" << endl;
stackshow(stkInt);
stkInt.resize(2); //1 3
cout << "---stkInt.resize(2);---" << endl;
stackshow(stkInt);
}
}
list 的反序排列
void main()
{
// lst.reverse(); //反转链表,比如 lst 包含 1,3,5 元素,运行此方法后,
//lst 就包含 5, 3, 1 元素。
list<int> lstInt;
lstInt.push_back(1);
lstInt.push_back(3);
lstInt.push_back(5);
lstInt.push_back(7);
lstInt.push_back(9);
stackshow(lstInt);
lstInt.reverse(); //9 7 5 3 1
stackshow(lstInt);
}