前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Problem G: STL——整理唱片(list的使用)

Problem G: STL——整理唱片(list的使用)

作者头像
_DIY
发布2019-09-11 17:25:11
3220
发布2019-09-11 17:25:11
举报
代码语言:javascript
复制
#include<iostream>
#include<list>
#include<iterator>
#include<algorithm>
using namespace std;
list<int> 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<int>::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<int>::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<int>::iterator iit = find(p.begin(), p.end(), jj);
                    if(iit != p.end())      /*依据题目上的“注”*/
                        p.remove(ii);
                    list<int>::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这个条件的元素将会被全部移除

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档