双指针逆置数组的实现思路如下:
- 定义两个指针,一个指向数组的开头,一个指向数组的末尾。
- 循环交换两个指针所指向的元素,并同时移动两个指针,直到两个指针相遇或交叉。
- 当两个指针相遇或交叉时,整个数组就逆置完成了。
下面是一个简单的示例代码:
#includevoid reverseArray(int* arr, int size) { int* start = arr; int* end = arr + size - 1; while (start < end) { int temp = *start; *start = *end; *end = temp; start++; end--; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size); printf("Reversed array: "); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }
运行以上代码,输出结果为:
Reversed array: 5 4 3 2 1