list

作者: ad丶leo | 来源:发表于2019-01-30 10:55 被阅读0次
  1. c# List<int> 转 string 以及 s
  2. php redis list
  3. 【Python爬虫】- 第4天列表、元组、集合练习题
  4. Python学习笔记(四)
  5. Android 比较两个集合中的不同元素
  6. JAVA中list的应用+理解
  7. 列表
  8. Python list总结
  9. new为指针
  10. List、 List、 List三者的区别

    list

    list容器实际上是一个双向链表,可以高效地进行插入删除元素

    初始化

    list<int> l1; //空链表
    list<int> l2(3); // 建一个含三个默认值上0的元素的链表
    list<int> l3(5,1); // 建含五个元素的链表,值是1
    list<int> l4(l1); // l1的copy链表
    list<int> l5(l2.begin(), l2.end());

    成员函数

    l.begin()l.end()l.rbegin()l.rend()//以上含义略去不表
    list.assign(n, num); //将n个num赋值给list
    list.assign(Itr.begin(), Itr.end()); //将区间内的元素赋值给list
    list.front(); //链表list的第一个元素
    list.back(); //链表list的最后一个元素
    list.empty(); //判断链表是否为空
    list.size(); //返回链表中实际元素个数
    list.max_size(); //能容纳的最大元素个数
    list.clear(); //清除所有元素
    list.insert(pos, num); //在pos位置插入num
    list.insert(pos, n, num); //在pos位置插入n个num元素
    list.insert(pos, begin, end); //在pos位置插入区间内的元素
    list.erase(pos); //删除pos位置的元素
    list.push_back(num); //在末尾添加一个元素
    list.pop_back(); //删除末尾元素
    list.push_front(num); //在开始位置添加一个元素
    list.pop_front(); //删除第一个元素
    list.resize(n); //重新定义链表的长度,超出原始长度部分用0代替,小于原始部分删除。
    list.resize(n, num); //超出原始长度部分用num代替
    list1.swap(list2); //交换list1和list2
    swap(list1, list2); //同上
    list1.merge(list2); //合并两个有序链表并使之有序,释放list2
    list1.merge(list2, comp); //按照自定义规则merge
    list1.splice(list1.begin, list2); //将list2连接到list1的begin位置,释放list2
    list1.splice(list1.begin, list2, list2.begin, list2.end); //将list2[begin,end]位置的元素连接到list1的begin位置,并且在list2中施放掉begin位置的元素
    list.remove(num); //删除链表中匹配num的元素
    list.remove_if(comp); //删除满足条件的元素
    list.reverse(); //反转链表
    list.unique(); //删除相同元素
    list.sort(); //排序,默认升序
    list.sort(comp); //自定义规则排序

    相关文章