阅读量:2
C语言数组的逆置方法有多种,下面列举其中两种常用的方法:
- 使用额外的数组进行逆置
#include <stdio.h> void reverseArray(int arr[], int size) { int i, j; int temp[size]; // 创建一个与原数组大小相同的临时数组 // 将原数组的元素逆序复制到临时数组 for (i = size - 1, j = 0; i >= 0; i--, j++) { temp[j] = arr[i]; } // 将临时数组的元素复制回原数组 for (i = 0; i < size; i++) { arr[i] = temp[i]; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size); // 输出逆置后的数组 for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
- 使用两个指针进行逆置
#include <stdio.h> void reverseArray(int arr[], int size) { int start = 0; // 指向数组首元素的指针 int end = size - 1; // 指向数组末尾元素的指针 while (start < end) { // 交换首尾指针所指向的元素 int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; // 移动指针 start++; end--; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size); // 输出逆置后的数组 for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
无论使用哪种方法,都可以实现对C语言数组的逆置。