#include <bits/stdc++.h>
using namespace std;
void print(int e)
{
cout<<e<<" ";
}
int main()
{
list<int> l;
int choice,e;
while(true)
{
cout<<"1.头部插入元素\n"
"2.尾部插入元素\n"
"3.删除第一个元素\n"
"4.删除最后一个元素\n"
"5.遍历\n"
"6.清空所有元素\n"
"7.判断是否为空\n"
"8.输出第一个元素\n"
"9.输出最后一个元素\n";
cin>>choice;
switch(choice)
{
case 1:cout<<"输入要插入的元素:";cin>>e;l.push_front(e);cout<<"插入成功\n";break;
case 2:cout<<"输入要插入的元素:";cin>>e;l.push_back(e);cout<<"插入成功\n";break;
case 3:if(!l.empty()){l.pop_front();cout<<"删除成功\n";}else cout<<"链表为空\n";break;
case 4:if(!l.empty()){l.pop_back();cout<<"删除成功\n";}else cout<<"链表为空\n";break;
case 5:if(!l.empty())for_each(l.begin(),l.end(),print);else cout<<"链表为空";cout<<"\n";break;
//case 5:if(!l.empty())for(list<int>::iterator i=l.begin();i!=l.end();i++)cout<<*i<<" ";else cout<<"链表为空";cout<<"\n";break;
case 6:l.clear();cout<<"清除成功\n";break;
case 7:cout<<(l.empty()?"空\n":"不空\n");break;
case 8:!l.empty()?cout<<l.front()<<"\n":cout<<"链表为空\n";break;
case 9:!l.empty()?cout<<l.back()<<"\n":cout<<"链表为空\n";break;
default:cout<<"输入错误,请重新输入!\n";
}
}
return 0;
}
/************************************************
* 小柳学渣
* 2019/1/23 13:16
************************************************/
C++ STL list 链表
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 头文件 #include 构造 成员函数 li.begin()li.end()li.rbegin()li.rend...
- deque 双端队列容器 deque函数 创建 deque 对象,三种方法 创建没有任何元素的 deque 对象,...
- vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...
- 新年五坑第二弹: 个人评分:大约B+~AA 看后续情况,二之宫知子还是大爱的~ 《交响情人梦》是我TOP10,所以...