链表
前言
简单的数据结构,存储单元存储线性表
STL使用
#include <bits/stdc++.h>
using namespace std;
int main()
{
list<int> myList;
myList.push_back(6); // 在list的末尾添加元素6
myList.push_back(6); // 在list的末尾添加元素6
myList.push_back(6); // 在list的末尾添加元素6
myList.push_back(6); // 在list的末尾添加元素6
myList.push_back(6); // 在list的末尾添加元素6
myList.push_front(0); // 在list的开头添加元素0
myList.insert(myList.begin(), 7); // 在list的开头插入元素7
list<int>::iterator it = myList.begin();
it++;
myList.insert(it, 7);
myList.pop_back(); // 删除list的最后一个元素
myList.pop_front(); // 删除list的第一个元素
myList.erase(myList.begin()); // 删除list的第一个元素(使用迭代器)
myList.clear(); // 清空
// 使用迭代器遍历
for (std::list<int>::iterator It = myList.begin(); It != myList.end(); ++It)
{
std::cout << *It << " ";
}
auto it2 = std::find(myList.begin(), myList.end(), 7); // 查找值为7的元素
if (it2 != myList.end())
{
std::cout << "Found element: " << *it2 << std::endl;
}
else
{
std::cout << "Element not found" << std::endl;
}
int aa1 = myList.size(); // 数量
int aa2 = myList.front(); // 首项
int aa3 = myList.back(); // 尾项
myList.unique(); // 去重
/*std::list<int> mylist1;
mylist1.push_back(4);
for (int i = 1; i <= 5; i++) mylist1.push_back(5);
mylist1.push_back(4);
for (int i = 1; i <= 5; i++) mylist1.push_back(5);
mylist1.unique();
for (int e : mylist1)
std::cout << e << " ";*/
// 输出4 5 4 5
myList.sort(); // 排序
return 0;
}