版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/chaoweilanmao/article/details/30793859

#include<iostream>
#include<algorithm>
#include<list>
#include<iterator>
#include<cstdlib>
using namespace std;
struct n1
{
string name;
long long num;
};
list<n1>l;
void charu()
{
n1 tmp;
cin>>tmp.name>>tmp.num;
if(tmp.num<l.front().num)
l.push_front(tmp);
else
l.push_back(tmp);
}
void quanshan()
{
l.clear();
}
string xs;
long long xi;
bool way(const n1 & a)
{
if(xi==-1)
return a.name==xs;
else
return a.num==xi;
}
void shanmingzi()
{
xi=-1;
cin>>xs;
l.remove_if(way);
}
void shanxuehao()
{
cin>>xi;
l.remove_if(way);
}
void xianshi()
{
list<n1>::iterator i;
for(i=l.begin();i!=l.end();i++)
cout<<i->name<<","<<i->num<<endl;
}
bool cmp(n1 a,n1 b)
{
return a.num<b.num;
}
void shunxu()
{
l.sort(cmp);
}
void daoxu()
{
l.reverse();
} bool same_integral_part (n1 a,n1 b)
{
return (a.name==b.name)&&(a.num==b.num);
} void xuanze()
{
int j;
cout<<"1.插入 2.删除 3.查看 4.排序"<<endl;
cin>>j;
if(j==1)
{
cout<<"输入名字,学号(比如。杜甫 123):"<<endl;
charu();
}
else if(j==2)
{
cout<<"1.按名字删 2.按学号删 3.全删"<<endl;
cin>>j;
if(j==1)
shanmingzi();
else if(j==2)
shanxuehao();
else if(j==3)
quanshan();
}
else if(j==3)
{
xianshi();
}
else if(j==4)
{
cout<<"1.顺序 2.倒序"<<endl;
cin>>j;
if(j==1)
shunxu();
else if(j==2)
daoxu();
cout<<"1.去重"<<endl;
cin>>j;
if(j==1)
l.unique(same_integral_part);
}
}
int main()
{
int j;
while(1)
{
xuanze();
cout<<"0.退出 1.返回选择界面"<<endl;
cin>>j;
if(j==0)
return 0;
system("cls");
}
}

关于c++ list容器的操作摸索的更多相关文章

  1. C++ Primer : 第九章 : 顺序容器的操作以及迭代器失效问题

    顺序容器的添加.访问.删除操作以及forward_list的特殊操作,还有迭代器失效问题. 一.向容器添加元素 // array不支持这些操作 // forward_list有自己撰于的版本的inse ...

  2. Docker 容器高级操作[Docker 系列-3]

    关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料. 上篇文章向读者介绍了一个 Nginx 的例子,对于 Nginx 这样一个容器而言,当它启动成功后,我们 ...

  3. 二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

    前言 上篇讲了我们如何安装docker,现在该我们一展拳脚的时候了.接下来让我们一起学习一下docker常见的操作,让我们能够会使用 docker. 基本概念 在讲使用之前,还是先将一下docker ...

  4. Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

    上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 ...

  5. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  6. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

  7. ca12a_c++顺序容器的操作5_访问容器中的数据元素

    ca12a_c++顺序容器的操作5_访问容器中的数据元素访问元素:c.back()..显示最后一个数据c.front() ..显示第一个数据c[n],n就是下标,适合vector与dequec.at( ...

  8. cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

    cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...

  9. cb10a_c++_顺序容器的操作3关系运算符

    cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...

随机推荐

  1. js文件加载太慢,JavaScript文件加载加速

    原文出自:https://blog.csdn.net/seesun2012 js脚本加载太慢,JavaScript脚本加载加速(亲测有效) 测试背景: JS文件大小:6.1kB 传统形式加载js文件: ...

  2. code EINTEGRITY,npm安装时候报错

    解决方法: 1.如果有package-lock.json文件,就删掉 2.管理员权限进入cmd 3.执行npm cache clean --force 4.之后再npm install 有时候网不好也 ...

  3. SQL Serever学习16——索引,触发器,数据库维护

    sqlserver2014数据库应用技术 <清华大学出版社> 索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数 ...

  4. HTTP协议状态码学习

    一直以来都在追求实战,从而忽视了对理论知识的深入学习和理解.这并不可怕,可怕的是当意识到自己的不足时,没有行动. 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码   说明 ...

  5. Java - 用静态工厂方法代替构造器

    Effective Item - 考虑用静态工厂方法代替构造器我们有两种常见的方法获得一个类的实例: 公有的构造器 提供静态工厂方法(static factory method) 相对公有的构造器,静 ...

  6. along.js

    平时写代码用到的方法,就给封装了一下.需要的拿走不谢... 1.数组去重 并判断一个元素出现的次数 handle(str){ let arr=str.split('') var newarr=[]; ...

  7. HTML中的Head标签学习

    在页面加载完成的时候,标签head里的内容,是不会在页面中显示出来的.它包含了像页面的<title>(标题) ,CSS(如果你想用CSS来美化页面内容),图标和其他的元数据(比如 作者,关 ...

  8. 远景平台开发者上线,专业API免费使用

    远景平台开发者上线,欢迎大伙围观使用. 在开发者中心你可以做什么? 1.管理你的应用,通过APPKEY获取在线API.使用云中的数据和地图. 2.学习API的使用,包含API参考和部分例子(目前例子很 ...

  9. JavaScript Standard Style

    这是 JavaScript standard 代码规范的全文. 掌握本规范的最好方法是安装并在自己的代码中使用它. https://github.com/standard/standard/blob/ ...

  10. mybatis 关联表心得

    1,例如订单表与用户表的关联,一个订单对应一个用户,这是一对一关联: 用代码实现是这样: A(用resultType去实现的话,如下) 1,使用到继承, OrderUser extend Order{ ...