std::vector倒序
时间: 2023-12-14 22:04:26 浏览: 226
std::vector是C++ STL中的一个容器,可以存储任意类型的元素。在使用std::vector时,我们可以使用rbegin()和rend()方法进行倒序迭代。其中,rbegin()返回一个指向最后一个元素的迭代器,rend()返回一个指向第一个元素之前的迭代器。在倒序遍历时,迭代器也是使用++操作符进行移动,而不是--操作符。下面是一个例子:
std::vector<int> vValue;
vValue.push_back(1);
vValue.push_back(2);
vValue.push_back(3);
std::vector<int>::reverse_iterator rit = vValue.rbegin();
for (; rit != vValue.rend(); ++rit) {
int nValue = *rit;
// 对倒序遍历的元素进行操作
}
相关问题
#include <iostream> #include <vector> // 冒泡排序 void bubbleSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { std::swap(arr[j], arr[j + 1]); } } } } // 数组倒序 void reverseArray(std::vector<int>& arr) { int start = 0; int end = arr.size() - 1; while (start < end) { std::swap(arr[start], arr[end]); start++; end--; } } int main() { std::vector<int> arr = { }; // 冒泡排序 bubbleSort(arr); std::cout << "冒泡排序后的数组:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; // 数组倒序 reverseArray(arr); std::cout << "数组倒序结果:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; return 0; }注释
这段代码是一个简单的冒泡排序和数组倒序的实现。首先定义了一个bubbleSort函数,用来对传入的数组进行冒泡排序。然后定义了一个reverseArray函数,用来将传入的数组倒序。在main函数中,先定义了一个空的vector数组arr,然后调用bubbleSort函数对其进行排序。接着使用cout打印出排序后的数组元素,然后调用reverseArray函数对数组进行倒序操作,并再次使用cout打印出倒序后的数组元素。最后返回0表示程序正常结束。
#include <iostream> #include <vector> // 选择排序 void selectionSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } std::swap(arr[i], arr[minIndex]); } } // 数组倒序 void reverseArray(std::vector<int>& arr) { int start = 0; int end = arr.size() - 1; while (start < end) { std::swap(arr[start], arr[end]); start++; end--; } } int main() { std::vector<int> arr = {}; // 选择排序 selectionSort(arr); std::cout << "选择排序后的数组:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; // 数组倒序 reverseArray(arr); std::cout << "数组倒序结果:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; return 0; }注释
这是一个包含选择排序和数组倒序功能的程序。它使用了两个函数:selectionSort和reverseArray。
selectionSort函数实现了选择排序算法。它接受一个整数向量arr,并通过交换元素的位置来对其进行排序。算法的主要思想是在每次迭代中找到未排序部分的最小元素,并将其放置在已排序部分的末尾。通过重复执行这个过程,最终得到一个有序的数组。
reverseArray函数用于将数组倒序。它接受一个整数向量arr,并使用两个指针start和end来交换元素,以实现数组的倒序。
在主函数中,程序首先定义了一个空的整数向量arr。然后,它调用selectionSort函数对arr进行排序,并输出排序后的结果。接着,它调用reverseArray函数对arr进行倒序,并输出倒序后的结果。
最后,程序返回0表示正常运行结束。
如果你对这段代码有任何疑问,请随时提问。
阅读全文