• STL 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(),构成重载。ListDo()find查找重载。
             bool operator ==(const Node& f)const
            {
                if (f.a == this->a && f.c == this->c)
                {
                    return true;
                }
                return false;
            }
             //ListDo(),构成重载。
             bool operator <(const Node& f)const//sort重载默认小于号。
             {
                 if (f.a < this->a  &&f.c <= this->c)//判定条件。从大到小。
                 {
                     return true;
                 }
                 return false;
             }
        };
    void fun(Node& d)
        {
            cout << d.a << " " << d.c << endl;
        }

    void ListDo()
    {
            list db;
            db.push_front(Node(15, 'b'));
            db.push_front(Node(14, 'b'));
            db.push_front(Node(12, 'b'));
            db.push_front(Node(11, 'b'));
            db.push_front(Node(13, 'b'));
            db.push_back(Node(16, 'b'));
            db.sort();

            list db1;
            db1.assign(10,Node(123, 'a'));// 赋值

            //交换数值
            //db1.swap(db);//db与db1交换数据。

            //翻转数据
            //db.reverse();

            //排序
            //db.sort();//成员函数排序。默认从大到小,涉及到结构体(其中的数据类型如char类型的比较)需要重载。
             
            //合并两个列表
            //db.merge(db1);//(两个列表必须是有序的,否则会崩溃,崩溃可以改结构体中重载函数中if的判定大于或小于)。
            
            //查找。
            list::iterator  ite=     find(db.begin(), db.end(), Node(12, 'b'));//未找到会崩溃的,在一个容器中寻找一个成员,返回这个成员的迭代器。
            cout << ite->a << " "<c<         //for_each(db.begin(), db.end(), fun);

    }
    int main()
    {
        ListDo();
        system("pause");
        return 0;
    }
     

  • 相关阅读:
    【Vue基础-数字大屏】图表自适应大小
    Apache Storm 2.5.0 单机安装与配置
    嵌入式测试modbus工具modpoll
    在 Ubuntu 16.04 上从0到1教你如何移植osqp
    zabbix监控——监控应用
    【C++笔记】模板进阶
    vue项目本地打包可以,线上部署报错Module parse failed: Unexpected token
    使用移动平均数调整曲线 by Python
    LeetCode 1769. 移动所有球到每个盒子所需的最小操作数 -- 前缀和
    IDEA中JDBC连接MYSQL数据库步骤超详细总结
  • 原文地址:https://blog.csdn.net/qq_52119661/article/details/125885923