c语言用队列stl加头文件,C++ STL List队列用法(实例)

#include #include #include #include

using namespace std;

//创建一个list容器的实例LISTINT

typedef listLISTINT;

//创建一个list容器的实例LISTCHAR

typedef listLISTCHAR;

void main(void)

{

//--------------------------

//用list容器处理整型数据

//--------------------------

//用LISTINT创建一个名为listOne的list对象

LISTINT listOne;

//声明i为迭代器

LISTINT::iterator i;

//从前面向listOne容器中添加数据

listOne.push_front (2);

listOne.push_front (1);

//从后面向listOne容器中添加数据

listOne.push_back (3);

listOne.push_back (4);

//从前向后显示listOne中的数据

cout<

for (i = listOne.begin(); i != listOne.end(); ++i)

cout << *i << " ";

cout << endl;

//从后向后显示listOne中的数据

LISTINT::reverse_iterator ir;

cout<

for (ir =listOne.rbegin(); ir!=listOne.rend();ir++) {

cout << *ir << " ";

}

cout << endl;

//使用STL的accumulate(累加)算法

int result = accumulate(listOne.begin(), listOne.end(),0);

cout<

cout<

//--------------------------

//用list容器处理字符型数据

//--------------------------

//用LISTCHAR创建一个名为listOne的list对象

LISTCHAR listTwo;

//声明i为迭代器

LISTCHAR::iterator j;

//从前面向listTwo容器中添加数据

listTwo.push_front ('A');

listTwo.push_front ('B');

//从后面向listTwo容器中添加数据

listTwo.push_back ('x');

listTwo.push_back ('y');

//从前向后显示listTwo中的数据

cout<

for (j = listTwo.begin(); j != listTwo.end(); ++j)

cout << char(*j) << " ";

cout << endl;

//使用STL的max_element算法求listTwo中的最大元素并显示

j=max_element(listTwo.begin(),listTwo.end());

cout << "The maximum element in listTwo is: "<

}

#include #include

using namespace std;

typedef listINTLIST;

//从前向后显示list队列的全部元素

void put_list(INTLIST list, char *name)

{

INTLIST::iterator plist;

cout << "The contents of " << name << " : ";

for(plist = list.begin(); plist != list.end(); plist++)

cout << *plist << " ";

cout<

}

//测试list容器的功能

void main(void)

{

//list1对象初始为空

INTLIST list1;

//list2对象最初有10个值为6的元素

INTLIST list2(10,6);

//list3对象最初有3个值为6的元素

INTLIST list3(list2.begin(),--list2.end());

//声明一个名为i的双向迭代器

INTLIST::iterator i;

//从前向后显示各list对象的元素

put_list(list1,"list1");

put_list(list2,"list2");

put_list(list3,"list3");

//从list1序列后面添加两个元素

list1.push_back(2);

list1.push_back(4);

cout<

put_list(list1,"list1");

//从list1序列前面添加两个元素

list1.push_front(5);

list1.push_front(7);

cout<

put_list(list1,"list1");

//在list1序列中间插入数据

list1.insert(++list1.begin(),3,9);

cout<

put_list(list1,"list1");

//测试引用类函数

cout<

cout<

//从list1序列的前后各移去一个元素

list1.pop_front();

list1.pop_back();

cout<

put_list(list1,"list1");

//清除list1中的第2个元素

list1.erase(++list1.begin());

cout<

put_list(list1,"list1");

//对list2赋值并显示

list2.assign(8,1);

cout<

put_list(list2,"list2");

//显示序列的状态信息

cout<

cout<

cout<

//list序列容器的运算

put_list(list1,"list1");

put_list(list3,"list3");

cout

cout<

//对list1容器排序

list1.sort();

put_list(list1,"list1");

//结合处理

list1.splice(++list1.begin(), list3);

put_list(list1,"list1");

put_list(list3,"list3");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值