#include <iostream>
using namespace std;
#include <list> void printList(list<int>& mlist) { for (list<int>::iterator it = mlist.begin(); it != mlist.end(); it++) {
cout << *it << " ";
}
cout << endl; }
//初始化
void test01() {
list<int> myList;
list<int> myList2(, );//有参构造
list<int> list3(myList2);
//有参构造
list<int>mlist4(myList2.begin(), myList2.end()); //打印
for (list<int>::iterator it = list3.begin(); it != list3.end(); it++) {
cout << *it << " ";
}
cout << endl;
} //list 插入删除
void test02() {
list<int> mlist;
mlist.push_back();
mlist.push_front();
//插入
mlist.insert(mlist.begin(), );
//在指定位置插入
list<int>::iterator it = mlist.begin();
it++;
mlist.insert(it, );
//在尾部插入
mlist.insert(mlist.end(), );
//删除
mlist.pop_back();
mlist.pop_front();
//删除区间
mlist.erase(mlist.begin(), mlist.end());
mlist.clear(); //.remove 删除
mlist.push_front();
mlist.push_back();
mlist.push_front();
mlist.remove();//删掉所有匹配的元素
printList(mlist); } // size empty略 //赋值操作
void test03() {
list<int> mlist;
mlist.assign(, ); list<int> mlist2;
mlist2 = mlist; mlist2.swap(mlist);
} //排序反转
void test04() {
list<int> mlist = { ,,,,,,, };
mlist.reverse();
printList(mlist);
} bool myCompare(int a, int b) {
return a > b;
}
//排序
void test05() {
list<int> mlist = { ,,,,,,, };
mlist.sort();//基础数据类型 默认排序 从小到大
printList(mlist);
mlist.sort(myCompare);//自己写回调函数 从大到小排序
printList(mlist); //算法 sort 支持可随机访问容量 } int main() {
test05();
}

STL 小白学习(7) list的更多相关文章

  1. STL 小白学习(1) 初步认识

    #include <iostream> using namespace std; #include <vector> //动态数组 #include <algorithm ...

  2. STL 小白学习(10) map

    map的构造函数 map<int, string> mapS; 数据的插入:用insert函数插入pair数据,下面举例说明 mapStudent.insert(pair<, &qu ...

  3. STL 小白学习(9) 对组

    void test01() { //构造方法 pair<, ); cout << p1.first << p1.second << endl; pair< ...

  4. STL 小白学习(8) set 二叉树

    #include <iostream> using namespace std; #include <set> void printSet(set<int> s) ...

  5. STL 小白学习(5) stack栈

    #include <iostream> #include <stack> //stack 不遍历 不支持随机访问 必须pop出去 才能进行访问 using namespace ...

  6. STL 小白学习(6) queue

    //queue 一端插入 另一端删除 //不能遍历(不提供迭代器) 不支持随机访问 #include <queue> #include <iostream> using nam ...

  7. STL 小白学习(4) deque

    #include <iostream> #include <deque> //deque容器 双口 using namespace std; void printDeque(d ...

  8. STL 小白学习(3) vector

    #include <iostream> using namespace std; #include <vector> void printVector(vector<in ...

  9. STL 小白学习(2) string

    #include <iostream> using namespace std; #include <string> //初始化操作 void test01() { //初始化 ...

随机推荐

  1. 安装percona-toolkit工具时遇到的问题

    1. 从这个链接https://www.percona.com/doc/percona-toolkit/3.0/index.html下载percona-toolkit安装包 2. 下载完成通过ftp工 ...

  2. pom的maven仓库的配置

    这里简单记录一下问题 本人配置了nexus的私人仓库,配置阿里云的远程仓库(http://182.92.29.40/nexus/content/groups/public/)和正规的2个库(http: ...

  3. 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成

    java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...

  4. 随手记一 2018/04/23 Ajax基础了解

    1.什么是ajax? 主要目的是用来实现客户端和服务器之间的异步通信,实现页面的局部刷新 2.同步和异步! 同步:当多个线程同时向一个数据发送请求时,必须是A先执行完毕才可以给B,会出现阻塞的情况,但 ...

  5. 根据RadioButtonList动态显示隐藏Div

    使用场景 今天在写项目的时候遇到一个需求,注册页面,用户先选择类型继而填表单,所以需要根据选择切换表单,使用的前端框架是MiniUI,但是在实现这个功能的时候mini.get()方法无法得到div元素 ...

  6. GOQTTemplate3的多线程化改造

    GOQTTemplate3作为一个QT+OpenCV的平台,希望能够为使用者提供基础的跨平台的图像处理框架.图像处理算法和GUI两个线程的隔离,是必然需要的.在之前的版本中,都采用了OnTimer的方 ...

  7. concurrent.futures进行并发编程

    Python中进行并发编程一般使用threading和multiprocessing模块,不过大部分的并发编程任务都是派生一系列线程,从队列中收集资源,然后用队列收集结果.在这些任务中,往往需要生成线 ...

  8. 0x14哈希之兔子兔子

    参考链接:https://www.cnblogs.com/wyboooo/p/9813428.html 题目链接:https://www.acwing.com/problem/content/140/ ...

  9. topcoder srm 615 div1

    problem1 link 对于数字$x$,检验每个满足$x=y*2^{t}$的$y$能否变成$x$即可. problem2 link 如果起点到终点有一条长度为$L$的路径,那么就存在长度为$L+k ...

  10. cookie的存入和取出

    刚刚开始写页面没多久,因为登录注册写的是个tab切换,所以需要在点击登录的时候跳到登录页面,点击注册的时候跳转到注册页面,自己在网上找了一下,研究了一下cookie方法,现在把它记下来. 存入cook ...