• LST list删除与修改


    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std;
    struct Node
        {
            int a;
            char c;
            //头增加ListCoutAdd()
            Node(int d, int e)
            {
                a = d;
                c = e;
            }
            //删除ListDeleteChange(),构成重载。
             bool operator ==(const Node& f)const
            {
                if (f.a == this->a && f.c == this->c)
                {
                    return true;
                }
                return false;
            }
        };
    void fun(Node& d)
        {
            cout << d.a << " " << d.c << endl;
        }

    void ListDeleteChange()
    {
        list db;
        db.push_front(Node(14, 'b'));
        db.push_front(Node(12, 'b'));
        db.push_front(Node(13, 'b'));
        db.push_front(Node(14, 'b'));
        db.push_front(Node(14, 'b'));
        db.push_back(Node(16, 'b'));

        //删除
        尾删除
        //db.pop_back();
        
        头删除
        //db.pop_front();
        
        指定位置删除
        //list::iterator ite = db.begin();
        //ite++;
        //ite++;
        db.erase(ite);//删除下标为2的元素。
        //db.erase(ite,db.end());//删除下标为2到尾末的所有元素。
        
        全部删除
        //db.clear();

        //指定位置删除
        //db.remove(Node(14, 'b'));//指定值进行删除,需要进行重载。
        
        //删除db中重复的值
        //db.unique();//需要相同元素相邻

        //修改
        //db.assign(3, Node(2,'c'));//赋值运算。覆盖。
        
        //赋值
        //list db1;
        //db1 = db;//给空的对象赋值。
        //for_each(db1.begin(), db1.end(), fun);

        //迭代器赋值
        list::iterator ite = db.begin();
        ite++;
        ite++;
        list db2;
        db2.assign(ite, db.end());//给db2赋值的db1元素的下标范围是从2(包括)到最后一个元素(包括)之间的所有元素。
        for_each(db2.begin(), db2.end(), fun);
        
        //for_each(db.begin(), db.end(), fun);
    }
    int main()
    {
        //ListCoutAdd();
        ListDeleteChange();
        system("pause");
        return 0;
    }
     

  • 相关阅读:
    Linux内存管理(二十五):slub 分配器之kmem_cache_destroy
    项目实战——对战回放和排行榜
    `算法题解` `AcWing` 4505. 最大子集
    怎么压缩pdf文件大小?详细压缩步骤
    Jmeter 命令式执行脚本,使用windows bat 命令进行全自动静默获取token
    StencilJs学习之事件
    【InnoDB Cluster】修改已有集群实例名称及成员实例选项
    有点儿神奇,原来vue3的setup语法糖中组件无需注册因为这个
    Chrome 浏览器关闭后再打开,需要重新登录账号,解决办法
    什么是惊群效应
  • 原文地址:https://blog.csdn.net/qq_52119661/article/details/125885895