美文网首页
5.list插入和删除

5.list插入和删除

作者: lxr_ | 来源:发表于2021-04-17 09:54 被阅读0次
#include<iostream>
using namespace std;

#include<list>

//函数原型:
//push_back(elem);在容器尾部插入一个元素
//pop_back();在容器尾部移除第一个元素
//push_front(elem);在容器开头插入一个元素
//pop_front();在容器开头移除第一个元素
//insert(pos, elem);在pos位置插入elem元素的拷贝,返回新数据的位置
//insert(pos, n, elem);在pos位置插入n个elem数据,无返回值
//insert(pos, begin, end);在pos位置插入[begin,end]区间的数据,无返回值
//clear();清空所有数据
//erase(begin, end);删除begin和end之间的数据,无返回值
//erase(pos);删除pos位置的数据,返回下一个数据的位置
//remove(elem);删除容器中所有与elem值匹配的元素

void printlist(const list<int> l)
{
    for (list<int>::const_iterator it = l.begin(); it != l.end(); it++)
    {
        cout << (*it) << " ";
    }
    cout << endl;
}
void test0501()
{
    list<int> l1;
    for (int i = 0; i < 10; i++)
    {
        //尾插
        l1.push_back(i);
    }
    printlist(l1);

    //头插
    l1.push_front(100);
    printlist(l1);

    //尾删
    l1.pop_back();
    //头删
    l1.pop_front();
    printlist(l1);

    //insert插入
    l1.insert(l1.begin(), 200);
    printlist(l1);

    l1.insert(l1.end(), 10, 300);
    printlist(l1);

    //删除指定位置数据
    l1.erase(l1.begin());
    printlist(l1);

    //删除所有300的值
    l1.remove(300);
    printlist(l1);

    l1.insert(l1.begin(), l1.begin(), l1.end());
    printlist(l1);

    l1.erase(++l1.begin(),--l1.end());//留住头部和尾部元素,其他删掉
    printlist(l1);

    //清空
    l1.clear();
    printlist(l1);

}

int main()
{
    test0501();

    system("pause");
    return 0;
}

相关文章

网友评论

      本文标题:5.list插入和删除

      本文链接:https://www.haomeiwen.com/subject/wfbklltx.html