list 容器
#include <iostream>
#include <list>
#include <algorithm>
template <typename T>
void display(const std::list<T> &arr){
for (const auto &i: arr)
std::cout << i << " ";
std::cout << std::endl;
}
void test1()
{
std::list<int> d1 {1, 2, 3, 4, 5};
display(d1);
std::list<std::string> l2{"--"};
l2.push_back("hello");
l2.push_back("world");
display(l2);
std::list<int>l3;
l3 = {1, 2, 3, 4, 5, 6, 7};
display(l3);
std::list<int>l4(3, 88);
display(l4);
}
void test2()
{
std::list<int> d1 {1, 2, 3, 4, 5};
std::cout << "第一个元素:" << d1.front() << std::endl;
std::cout << "最后一个元素:" << d1.back() << std::endl;
std::cout << "大小:" << d1.size() << std::endl;
d1.clear();
std::cout << "大小:" << d1.size() << std::endl;
}
void test3()
{
std::list<int> d1 {1, 2, 3, 4, 5};
d1.resize(3);
display(d1);
}
void test4()
{
std::list<int> l1 {1, 2, 3, 4, 5};
std::list<int>::iterator it = std::find(l1.begin(), l1.end(),3);
if (it != l1.end())
l1.insert(it, 100);
display(l1);
std::list<int>l2 {10, 12, 13,};
l1.insert(it, l2.begin(), l2.end());
display(l1);
std::advance(it, -2);
std::cout << *it << std::endl;
l1.erase(it);
display(l1);
}
void test5()
{
std::list<int> l1 {5, 2, 1, 4, 3};
l1.sort();
display(l1);
}
int main()
{
test5();
}