C++ 使用迭代器改变 List 顺序:反转和自定义排序
C++ 使用迭代器改变 List 顺序:反转和自定义排序
在 C++ 中,可以使用迭代器来访问和操作 List 中的元素。这篇文章将介绍如何使用迭代器来改变 List 的顺序,包括反转和自定义排序。
1. 使用 reverse() 反转 List
可以使用 List 的成员函数 reverse() 来反转 List 中元素的顺序。例如:
#include <iostream>
#include <list>
int main() {
std::list<int> mylist = {1, 2, 3, 4, 5};
std::cout << "Original list: ";
for (auto i : mylist) {
std::cout << i << " ";
}
std::cout << std::endl;
mylist.reverse();
std::cout << "Reversed list: ";
for (auto i : mylist) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
输出:
Original list: 1 2 3 4 5
Reversed list: 5 4 3 2 1
2. 使用 std::sort() 和自定义比较函数实现自定义排序
如果需要按照自定义的顺序排序,可以使用 std::sort() 函数和自定义的比较函数。例如:
#include <iostream>
#include <list>
#include <algorithm>
bool compare(int a, int b) {
return a > b;
}
int main() {
std::list<int> mylist = {2, 4, 1, 5, 3};
std::cout << "Original list: ";
for (auto i : mylist) {
std::cout << i << " ";
}
std::cout << std::endl;
mylist.sort(compare);
std::cout << "Sorted list: ";
for (auto i : mylist) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
输出:
Original list: 2 4 1 5 3
Sorted list: 5 4 3 2 1
上面的比较函数 compare() 定义了一个降序排序规则。std::sort() 会根据这个比较函数对 List 中的元素进行排序。
总结
通过使用迭代器,我们可以方便地访问和操作 List 中的元素,实现反转和自定义排序等操作。reverse() 函数可以快速反转 List 的顺序,而 std::sort() 函数结合自定义比较函数则可以实现更加灵活的排序需求。
原文地址: https://www.cveoy.top/t/topic/lAzl 著作权归作者所有。请勿转载和采集!