zoukankan      html  css  js  c++  java
  • STL:C++标准容器库 :list

    int main()
    {
        list<Student> stulist;
        stulist.push_back(Student("zhangsan",22));
        stulist.push_back(Student("lisi",23));
        stulist.push_back(Student("lisi",53));
        stulist.push_back(Student("liyunlong",52));
        stulist.push_back(Student("kaipao",48));
        stulist.push_back(Student("chuyunfei",51));
    
    //    list<Student>::iterator it;       //ok    遍历
    //    for(it=stulist.begin();it!=stulist.end();it++)
    //        it->showStu();
     #if 0
        it = stulist.begin();
        it++;
        it--;
        (it + 1)->showStu();//error 因为底层是链表不是数组
    #endif
        //list的查找也必须使用通用算法进行查找
        stulist.remove(Student("liyunlong",0)); //删除所有的指定值,调用==操作符重载
        stulist.remove_if(Find_lisi()); //删除所有指定值,调用()操作 符重载
    //    通用算法
        for_each(stulist.begin(),stulist.end(),show);   //使用通用算法进行遍历
    }
        //查重
    //    stulist.unique();//自动调用等号操作符重载
    //    stulist.unique(cmpname);//自定义方式查
    
    //    it = stulist.begin(); //自己定义算法
    //    bool isflag=1;
    //    while((it=find(it,stulist.end(),Student("lisi",0)))!=stulist.end())
    //    {
    //        if(isflag)
    //        {
    //            isflag = false;
    //            it++;
    //        }
    //        else
    //        {
    //            stulist.erase(it++);
    //        }
    //    }
        list<Student> stulist2;
        stulist2.push_back(Student("222",22));
        stulist2.push_back(Student("33",23));
        stulist2.push_back(Student("44",53));
        stulist2.push_back(Student("51",53));
    
    //    stulist.merge(stulist2);//拼接    stulist2内容为空
    //    stulist.splice(stulist.end(),stulist2);//拼接 stulist2内容为空1
        stulist.splice(stulist.end(),stulist2,++stulist2.begin(),--stulist2.end());//
    //    stulist.splice(stulist.end(),stulist2,++stulist2.begin());
        for_each(stulist.begin(),stulist.end(),show);

    list:

    1.底层是链表实现:增删效率高,查询效率低

    2.允许有重复值

    3.无序的容器(不会自动排序)

    4.有自己的sort(),find()

  • 相关阅读:
    疑问
    Android之Adapter用法总结-(转)
    Android之Adapter用法总结(转)
    ListView中每个item条目在被单击选中时能够高亮显示
    使用简单的python语句编写爬虫 定时拿取信息并存入txt
    Python实现简单的爬虫获取某刀网的更新数据
    scrapy-redis(七):部署scrapy
    Scrapy-redis改造scrapy实现分布式多进程爬取
    Scrapy-redis实现分布式爬取的过程与原理
    https://blog.csdn.net/u012150179/article/details/38091411
  • 原文地址:https://www.cnblogs.com/xiaozoui11cl/p/12787371.html
Copyright © 2011-2022 走看看