C++之list

C++之list


list的构造

复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器的构造函数
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //添加元素
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);

    //遍历打印输出
    printfList(L1);

    //区间构造
    list<int>L2(L1.begin(),L1.end());
    printfList(L2);

    //n个元素构造
    list<int>L3(4,100);
    printfList(L3);

    //拷贝构造
    list<int>L4(L2);
    printfList(L4);
}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}

list赋值和交换

复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器的赋值和交换
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //添加元素
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);
    //遍历打印输出
    printfList(L1);

    //赋值
    list<int>L2;
    L2 = L1;//operator =
    printfList(L2);

    list<int>L3;
    L3.assign(L2.begin(),L2.end());
    printfList(L3);

    list<int>L4;
    L4.assign(4,100);
    printfList(L4);

}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}
复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器的赋值和交换
void  test()
{
    cout<<"交换前"<<endl;
   //创建list容器
    list<int>L1;//默认构成

    //添加元素
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);
    //遍历打印输出
    printfList(L1);

    list<int>L4;
    L4.assign(4,100);
    printfList(L4);

    cout<<"交换后"<<endl;
    L1.swap(L4);
    printfList(L1);
    printfList(L4);
}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}

list的大小操作

复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //添加元素
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);
    //遍历打印输出
    printfList(L1);

    //判断是否为空
    if(L1.empty())
    {
        cout<<"L1 is empty"<<endl;
    }
    else
    {
        cout<<"L1 is not empty"<<endl;
        cout<<"L1's size is "<<L1.size()<<endl;
    }

    //重新指定大小
    L1.resize(10,100);
    printfList(L1);

    L1.resize(2);
    printfList(L1);
}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}

list插入和删除

复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //尾插
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);

    //头插
    L1.push_front(100);
    L1.push_front(200);
    L1.push_front(300);
    L1.push_front(400);
    //遍历打印输出
    printfList(L1);

    //尾删
    L1.pop_back();
    printfList(L1);
    //头删
    L1.pop_front();
    printfList(L1);

    //插入
    list<int>::iterator it=L1.begin();
    L1.insert(++it,1000);
    printfList(L1);

    //删除
    it = L1.begin();
    L1.erase(++it);
    printfList(L1);

    //移除
    L1.push_back(10000);
    L1.push_back(10000);
    L1.push_back(10000);
    L1.push_back(10000);
    printfList(L1);
    L1.remove(10000);
    printfList(L1);

    //清空
    L1.clear();
    printfList(L1);

}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}

list数据存取

复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}
//list容器
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //尾插
    L1.push_back(10);
    L1.push_back(20);
    L1.push_back(30);
    L1.push_back(40);

    //遍历打印输出
    printfList(L1);

    cout<<"第一个元素为:"<<L1.front()<<endl;
    cout<<"最后一个元素:"<<L1.back()<<endl;

}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}

list反转和排序


复制代码
#include <iostream>
#include<list>
using namespace std;

//打印函数
void printfList(const list<int>&L)
{
    for(list<int>::const_iterator it = L.begin();it != L.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}

bool MyCompare(int v1,int v2)
{
    //降序就是让第一个数大于第二个数 V1>V2
    return v1>v2;
}

//list容器
void  test()
{
   //创建list容器
    list<int>L1;//默认构成

    //尾插
    L1.push_back(50);
    L1.push_back(20);
    L1.push_back(10);
    L1.push_back(40);

    cout<<"反转前:"<<endl;

    //遍历打印输出
    printfList(L1);

    L1.reverse();

    cout<<"反转后:"<<endl;
    printfList(L1);

    //排序
    cout<<"排序前:"<<endl;
    printfList(L1);

    //所有不支持随机访问迭代器的容器,不可以用标准算法
    //不支持随机访问迭代器的容器,内部会提供对应一些算法
    //sort(L1. begin(), L1.end()) ;
    L1.sort();//默认是升序
    cout<<"排序后:"<<endl;
    printfList(L1);

    L1.sort(MyCompare);//降序
    cout<<"排序后:"<<endl;
    printfList(L1);

}

int main()
{
    test();
    cout << "Hello World!" << endl;
    return 0;
}
相关推荐
二川bro11 小时前
内存泄漏检测:Python内存管理深度解析
java·开发语言·python
k***817211 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
十五年专注C++开发11 小时前
Mimalloc:一款高性能、低开销和线程安全的C++内存分配器
c++·内存分配·mimalloc
Not Dr.Wang42211 小时前
实验三:基于matlab的积分分离PID控制算法
开发语言·matlab
lly20240611 小时前
Razor VB 循环:深度解析与实例教学
开发语言
Yue丶越11 小时前
【C语言】内存函数
c语言·开发语言
前端程序猿i11 小时前
彻底搞懂防抖(Debounce)与节流(Throttle):源码实现与应用场景
开发语言·前端·javascript·vue.js·ecmascript
纵有疾風起11 小时前
【C++—STL】红黑树底层封装与set/map模拟实现
开发语言·c++·经验分享·面试·开源·stl
执笔论英雄11 小时前
【RL】async_engine 远离
java·开发语言·网络
不会c嘎嘎11 小时前
【数据结构】红黑树详解:从原理到C++实现
开发语言·数据结构