STL中list的基本用法范例

#include <iostream>
#include <list>
using namespace std;



//构造函数,插入和删除
void list_create()
{
    //构造函数
    list<int> ls;
    for(int i = 0;i<10;i++)
    {
        ls.push_back(i);
    }

    //拷贝区间构造
    list<int> ls2(ls.begin(),ls.end());

    //拷贝n个elem
    int n =5;
    int s =3;
    list<int> ls3(n,s);

    //拷贝构造
    list<int> ls4(ls);

    //删除最后一个元素
    ls.pop_back();

    //再开始插入一个元素插入ele
    int f = 100;
    ls.push_front(f);
    //在开始删除一个元素
    ls.pop_front();

    //在pos位置插入elem元素的拷贝,返回新数据的位置
    list<int>::iterator pos = ls.begin();
    int elem=200;
    ls.insert(pos,elem);

    //在pos位置插入n个elem元素的拷贝,返回新数据的位置
    int n2 = 4;
    ls.insert(pos,n2,elem);

    //在pos位置插入ls2区间
    ls.insert(pos,ls2.begin(),ls2.end());

    //删除区间返回下一个元素位置
    list<int>::iterator last = ls.erase(ls2.begin(),ls2.end());

    //删除pos返回下一个元素位置
    ls.erase(pos);

    //删除所有与elem匹配的值
    ls.remove(elem);

    for(list<int>::iterator li = ls.begin();li!=ls.end();li++)
    {
        cout<<*li<<endl;
    }
}


//list 大小操作
void list_some()
{
    //构造函数
    list<int> ls;
    for(int i = 0;i<10;i++)
    {
        ls.push_back(i);
    }

    //获取list大小
    int s = ls.size();

    //判断是否为空
    bool bs = ls.empty();

    //重新指定容器长度为num,若变长则以elem填充
    int num=5;
    int elem=100;
    ls.resize(num);
    ls.resize(num,elem);

}


//list 赋值操作
void list_create_some()
{
    list<int> ls;
    for(int i = 0;i<10;i++)
    {
        ls.push_back(i);
    }

    //assign赋值
    list<int> ls2;
    ls2.assign(ls.begin(),ls.end());

    //将n个elem 赋值给ls2
    int n = 2;
    int elem = 5;
    ls2.assign(n,elem);

    //数据互换
    ls.swap(ls2);

    //返回第一个元素
    ls.front();

    //返回最后一个元素
    ls.back();

    //反转链表
    ls.reverse();

    //list排序
    ls.sort();
}





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



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值