#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(10, 1);//有参构造 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(100); mlist.push_front(15); //插入 mlist.insert(mlist.begin(), 300); //在指定位置插入 list<int>::iterator it = mlist.begin(); it++; mlist.insert(it, 300); //在尾部插入 mlist.insert(mlist.end(), 300); //删除 mlist.pop_back(); mlist.pop_front(); //删除区间 mlist.erase(mlist.begin(), mlist.end()); mlist.clear(); //.remove 删除 mlist.push_front(100); mlist.push_back(15); mlist.push_front(15); mlist.remove(15);//删掉所有匹配的元素 printList(mlist); } // size empty略 //赋值操作 void test03() { list<int> mlist; mlist.assign(10, 10); list<int> mlist2; mlist2 = mlist; mlist2.swap(mlist); } //排序反转 void test04() { list<int> mlist = { 15,54,564,564,5646,5465,46, }; mlist.reverse(); printList(mlist); } bool myCompare(int a, int b) { return a > b; } //排序 void test05() { list<int> mlist = { 15,54,564,564,5646,5465,46, }; mlist.sort();//基础数据类型 默认排序 从小到大 printList(mlist); mlist.sort(myCompare);//自己写回调函数 从大到小排序 printList(mlist); //算法 sort 支持可随机访问容量 } int main() { test05(); }