在看这篇文章之前,先看看#include <list>的简介。
这篇文章我来给大家几个list的应用。
应用
应用一
#include <iostream>
#include <list>
int main() {
// 创建一个整数类型的列表
std::list<int> numbers;
// 向列表中添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 访问并打印列表的第一个元素
std::cout << "First element: " << numbers.front() << std::endl;
// 访问并打印列表的最后一个元素
std::cout << "Last element: " << numbers.back() << std::endl;
// 遍历列表并打印所有元素
std::cout << "List elements: ";
for (std::list<int>::iterator it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 删除列表中的最后一个元素
numbers.pop_back();
// 再次遍历列表并打印所有元素
std::cout << "List elements after removing the last element: ";
for (std::list<int>::iterator it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
应用二
#include <iostream>
#include <list>
int main() {
std::list<int> lst = {1, 2, 3, 4, 5};
auto it = lst.begin();
std::advance(it, 2); // 移动迭代器到第3个元素(值为3)
lst.insert(it, 10); // 在第3个元素前插入10
lst.erase(it); // 删除第3个元素
// 输出链表内容
std::cout << "List elements: ";
for (const auto& elem : lst) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
应用三
#include <iostream>
#include <list>
int main() {
std::list<int> lst = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
lst.sort(); // 排序
lst.unique(); // 删除相邻重复元素
// 输出链表内容
std::cout << "Sorted and unique list: ";
for (const auto& elem : lst) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
应用四
#include <iostream>
#include <list>
int main() {
std::list<int> lst1 = {1, 3, 5, 7};
std::list<int> lst2 = {2, 4, 6, 8};
lst1.merge(lst2); // 合并两个已排序的链表
lst1.reverse(); // 反转链表
// 输出链表内容
std::cout << "Merged and reversed list: ";
for (const auto& elem : lst1) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
1万+

被折叠的 条评论
为什么被折叠?



