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;
}
相关推荐
学逆向的16 分钟前
C 浮点数e(科学计数法)
c语言·开发语言·网络安全
hetao173383721 分钟前
联盟场-提高组-R2 & ZYZSC-S-Round 5
c++·算法
quantdash_cc26 分钟前
如何给自己的量化策略增加独立数据层?从数据获取到策略解耦的 Python 实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
NeoGressAI外贸数字化27 分钟前
外贸独立站3类页面合格度,怎么用脚本一次跑完
开发语言·python
X北辰北39 分钟前
C++ 进阶第二阶段总结|STL容器全家桶、迭代器失效、STL算法、序列化入门(工程必备)
开发语言·c++·算法
伯恩bourne1 小时前
对比 @Configuration(Full) vs @Component(Lite)
java·开发语言
软件开发技术深度爱好者1 小时前
ndexTTS-2和 CosyVoice之TTS(Text-to-Speech)使用python示例
开发语言·python
Shadow(⊙o⊙)1 小时前
复习手写笔记C++继承相关1.0转录
c++
晚枫歌F1 小时前
dpdk实现arp协议,icmp协议-----架构优化
开发语言·javascript·架构
Shadow(⊙o⊙)1 小时前
复习手写笔记C++ 析构函数this指针虚表 转录
c++