博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Problem G: STL——整理唱片(list的使用)
阅读量:4313 次
发布时间:2019-06-06

本文共 1461 字,大约阅读时间需要 4 分钟。

 

#include
#include
#include
#include
using namespace std;list
p;int ii, jj;bool op(int x) /*这个很重要*/{ return x <= ii;}int main(){ int n; while(cin >> n) { for(int i = 0; i < n; i++) { int t; cin >> t; p.push_back(t); } int m; cin >> m; for(int i = 0; i < m; i++) { int t; cin >> t; switch (t) { case 1: { cin >> ii >> jj; list
::iterator it = find(p.begin(), p.end(), ii); if(it != p.end()) p.insert(++it, jj); break; } case 2: { cin >> ii; p.remove_if(op); // list
::iterator it = find(p.begin(), p.end(), ii);// for(int i = ii; i >= 0; i--)// p.remove(i); break; } case 3: { cin >> ii >> jj; list
::iterator iit = find(p.begin(), p.end(), jj); if(iit != p.end()) /*依据题目上的“注”*/ p.remove(ii); list
::iterator it = find(p.begin(), p.end(), jj); if(it != p.end()) p.insert(++it, ii); break; } } } cout << p.front(); p.pop_front(); while(!p.empty()) { cout << " " << p.front(); p.pop_front(); } cout << endl; } return 0;}

这里用到了remove_if(op), 不得不说,这个很好用,意思是list中满足op这个条件的元素将会被全部移除

转载于:https://www.cnblogs.com/KeepZ/p/11143772.html

你可能感兴趣的文章
置顶的博客
查看>>
ionic2 native app 更新用户头像暨文件操作
查看>>
SQL Server R2 地图报表制作(一)
查看>>
ZeroMQ——一个轻量级的消息通信组件
查看>>
JavaScript中数组和json的复制
查看>>
C语言多线程编程二
查看>>
转载:从集群计算到云计算
查看>>
服务器文件管理
查看>>
作业2
查看>>
ios上架报错90080,90087,90209,90125 解决办法
查看>>
给button添加UAC的小盾牌图标
查看>>
如何退出 vim
查看>>
Robberies
查看>>
get post 提交
查看>>
R安装
查看>>
跟我一起学C++
查看>>
Android自动化测试之环境搭建
查看>>
JavaScript运算符
查看>>
html position布局
查看>>
VTP
查看>>