双端链表
增删改查
打印
其他操作:
list1.assign() 给list赋值
list1.get_allocator() 返回list的配置器
list1.merge() 合并两个list
list1.begin() 返回指向第一个元素的迭代器
list1.end() 返回末尾的迭代器
list1.rbegin() 返回指向第一个元素的逆向迭代器
list1.rend() 指向list末尾的逆向迭代器
list1.sort() 给list排序
list1.splice() 合并两个list
list1.swap() 交换两个list
#include <iostream>
#include <list>
using namespace std;
int main()
{
//list<int> l 声明一个空链表
//list<int> l{ 1,2,3 } 声明一个含指定元素的链表
//list<int> l(n) 声明一个含n个元素的链表并全部初始化为0
//list<int> l(n, m) 声明一个含n个元素的链表并全部初始化为m
//list<int> l(a, b) 声明一个链表并初始化为区间[a, b]中的元素,a、b是迭代器
list <int> list1;
//增:
//list1.insert() 插入一个元素到list中
//list1.push_back() 在list的末尾添加一个元素
//list1.push_front() 在list的头部添加一个元素
list1.push_back(1);
list1.push_back(2);
list1.push_back(3);
list1.push_back(4);
list1.push_back(5);
list1.push_back(6);
list1.push_back(7);
list1.push_back(8);
list1.push_back(9);
//删:
//list1.clear() 清空list的所有元素
//list1.erase() 删除一个元素
//list1.erase(list1.begin(), list1.end()) 将l从begin()到end()之间的元素删除。
//list1.pop_back() 删除最后一个元素
//list1.pop_front() 删除第一个元素
//list1.remove() 从list删除指定元素(将这个元素全部删除)
//list1.remove_if() 按指定条件删除元素
//list1.unique() 删除list中重复的元素
list1.pop_back();
//改:
//list1.resize() 改变list的大小
//list1.reverse() 把list的元素倒转
list1.reverse();
//查:
//list1.front() 返回第一个元素
//list1.back() 返回最后一个元素
//list1.empty() 若list是空的则返回true,否则返回false
//list1.max_size() 返回list能容纳的最大元素数量
//list1.size() 返回list中的元素个数
int len = list1.size();
//其他操作:
//list1.assign() 给list赋值
//list1.get_allocator() 返回list的配置器
//list1.merge() 合并两个list
//list1.begin() 返回指向第一个元素的迭代器
//list1.end() 返回末尾的迭代器
//list1.rbegin() 返回指向第一个元素的逆向迭代器
//list1.rend() 指向list末尾的逆向迭代器
//list1.sort() 给list排序
//list1.splice() 合并两个list
//list1.swap() 交换两个list
//list1.sort();
cout << "链表中的第一个元素:" << list1.front() << endl;
cout << "链表中的最后一个元素:" << list1.back() << endl;
// iterator 是迭代器
list<int>::iterator it = list1.begin();
while (it != list1.end()) {
cout << *it << " ";
it++;
}
cout << endl;
return 0;
}