C++ <list> reverse 函数
reverse 是 list 中用于反转链表的函数,是链表特有的高效操作。
reverse 是容器类的成员函数,用于反转链表中元素的顺序。
在 list 中,reverse 的时间复杂度是 O(n),且不会造成元素的移动,只是调整指针。
单词释义: reverse 表示"反转",即反转链表的顺序。
基本语法与参数
语法格式
void reverse();
函数说明
- 返回值:
void(无返回值)。 - 效果: 反转链表中元素的顺序。
实例
示例 1:反转链表
实例
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "反转前: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "反转后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "反转前: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.reverse();
std::cout << "反转后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
运行结果预期:
反转前: 1 2 3 4 5 反转后: 5 4 3 2 1
示例 2:再次反转
实例
#include <iostream>
#include <list>
int main() {
std::list<int> data = {10, 20, 30};
data.reverse();
std::cout << "第一次反转: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << "第二次反转: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> data = {10, 20, 30};
data.reverse();
std::cout << "第一次反转: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
data.reverse();
std::cout << "第二次反转: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
运行结果预期:
第一次反转: 30 20 10 第二次反转: 10 20 30
C++ 容器类 <list>
点我分享笔记