list stl

简化了:https://blog.csdn.net/xiaoquantouer/article/details/70339869

头文件

#include<list>

list<int> a;

list<int>a{1,2,3}
list<int>a(n)    //声明一个n个元素的列表,每个元素都是0
list<int>a(n, m)  //声明一个n个元素的列表,每个元素都是m
list<int>a(first, last)  //声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素,first和last是迭代器

begin()和end()

push_back()和push_front()

empty()

resize()

resize(n)

resize(n, m)

clear()

front()和back()

pop_back()和pop_front()

assign()    


list<int>b{1,2,3,4,5};
b.assign(5,10);

b中的元素变为10, 10, 10, 10, 10 

list<int>a{6,7,8,9};
list<int>b{1,2,3,4,5};
b.assign(a.begin(),a.end());

b中的元素变为6,7,8,9 

swap()

a.swap(b)和swap(a, b)

reverse()    //倒序

reverse(b.begin(),b.end());

merge()

  1. list<int>a{6,7,8,9};
    
    list<int>b{2, 1, 3, 6, 5};
    
    a.merge(b,greater<int>());

a中元素变为:6,7,8,9,2,1,3,6,5

  1. list<int>a{6,7,8,9};
    
    list<int>b{2, 1, 3, 6, 5};
    
    a.merge(b);

a中元素变为:2,1,3,6,5,6,7,8,9

insert()

a.insert(a.begin(),100);  //在a的开始位置(即头部)插入100
a.insert(a.begin(),2, 100);   //在a的开始位置插入2个100
a.insert(a.begin(),b.begin(), b.end());//在a的开始位置插入b从开始到结束的所有位置的元素

erase()


a.erase(a.begin());  //将a的第一个元素删除
a.erase(a.begin(),a.end());  //将a的从begin()到end()之间的元素删除

remove()函数

list<int>a{6,7,8,9,7,10};
a.remove(7);

删除了a中所有值为7的元素,此时a中元素为6,8,9,10

猜你喜欢

转载自blog.csdn.net/xigongdali/article/details/81879357