用c++实现n个整数类型数据的顺序表的逆置
时间: 2024-09-29 14:07:12 浏览: 38
在C++中,实现一个包含n个整数的顺序表(数组或动态数组)的逆置,可以使用双指针法,即创建两个指针,一个从头开始(i),一个从尾部开始(j)。每次交换当前两个指针所指向的数据,然后移动指针。当一个指针超过另一个指针时,逆置操作完成。
以下是简单的步骤:
```cpp
#include <iostream>
using namespace std;
// 定义一个结构体或类来表示元素
struct IntegerNode {
int value;
// 如果是动态数组,这里不需要额外的next指针,因为数组下标即可表示位置
};
void reverse(int arr[], int n) {
// 初始化两个指针 i 和 j 分别指向数组的首尾
int i = 0, j = n - 1;
// 当 i 小于 j 时继续循环
while (i < j) {
// 交换 arr[i] 和 arr[j]
swap(arr[i], arr[j]);
// 移动指针
i++;
j--;
}
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int n = sizeof(numbers) / sizeof(numbers[0]);
cout << "Original array: ";
for (int i = 0; i < n; i++) {
cout << numbers[i] << " ";
}
reverse(numbers, n);
cout << "\nReversed array: ";
for (int i = 0; i < n; i++) {
cout << numbers[i] << " ";
}
return 0;
}
```
运行上述代码后,`numbers` 数组会被逆置。
阅读全文