STL 小白学习(7) list

#include 
using namespace std;
#include 


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();
}

 

转载于:https://www.cnblogs.com/likeghee/p/10180369.html

你可能感兴趣的:(STL 小白学习(7) list)