• STL list输出和增加


    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std;
    struct Node
        {
            int a;
            char c;
            //头增加
            Node(int d, int e)
            {
                a = d;
                c = e;
            }
        };
    void fun(Node& d)
        {
            cout << d.a << " " << d.c << endl;
        }
    void ListCoutAdd()
    {
        //输出
        /*Node no = { 12, 'a' };
        list db1(6, no);*/
        
        //迭代器循环输出。
        /*for (list::iterator ite = db1.begin(); ite != db1.end(); ite++)
        {
            cout << ite->a << " " << ite->c << endl;
        }*/
        
        //输出
        //cout << db1.back().a << " " << db1.back().c << endl;//back()函数返回一个引用,指向list最后一个元素。
        //cout << db1.front().a << " " << db1.front().c << endl; //back()函数返回一个引用,指向list第一个元素。

        //头增加
        /*list db;
        db.push_front(Node(12, 'b'));
        for_each(db.begin(), db.end(), fun);
        db.push_front(Node(13, 'c'));
        for_each(db.begin(), db.end(), fun);*/

        //尾添加
        /*list db2; 
        db2.push_front(Node(12, 'b'));
        db2.push_back(Node(13, 'c'));
        for_each(db2.begin(), db2.end(), fun);*/

        //中间添加
        list db2;
        list db3;
        db3.push_front(Node(16, 'b'));
        db3.push_front(Node(16, 'b'));
        db3.push_front(Node(16, 'b'));
        db3.push_back(Node(16, 'b'));

        db2.push_front(Node(12, 'b'));
        db2.push_back(Node(13, 'c'));
        list::iterator ite = db2.begin(); //迭代器
        ite++;//将下标移位到第二位。(数据第二位,下标为1)
        //db2.insert(ite, Node(15, 'd'));//插入一个元素。
        //db2.insert(ite,3,Node(16, 'e'));//插入3(多)个元素。
        db2.insert(ite,++db3.begin(),db3.end());//在db2中下标位置为1(数据第二位,下标为1)处插入db3中下标为[1,3)的元素。
        
        for_each(db2.begin(), db2.end(), fun);


    }

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

  • 相关阅读:
    奇安信天擎Linux客户端部署相关事项
    如何在一台电脑上运行两个及以上Tomcat服务器
    从云AK泄露利用看企业特权管理
    pytest-yaml 测试平台-3.创建执行任务定时执行用例
    【Centos安装mysql】
    QDockWidget DEMO 动态添加QDockWidget ,无主窗口,禁止tab重叠
    IDEA创建动态web工程并配置Tomcat服务器
    进阶C++__STL__容器list使用方法【简单易懂】
    最新版傻妞及Web安装教程-2022.11.6
    Coreldraw2020最新64位电脑完整版本下载教程
  • 原文地址:https://blog.csdn.net/qq_52119661/article/details/125877108