Cho mảng n phần tử. Đảo ngược các phần tử trong mảng (in-place) và hiển thị. Không in ngược, phải đổi chỗ thực tế.
Ví dụ: n=9, arr=[2,5,6,4,7,8,3,6,4] → [4,6,3,8,7,4,6,5,2]
Giải thuật
- Vòng lặp i từ 0 đến n/2 - 1:
- temp = arr[i]
- arr[i] = arr[n - i - 1]
- arr[n - i - 1] = temp
- In mảng đã đảo
Ví dụ minh họa
#include <iostream>
using namespace std;
int main(){
int n = 9;
int arr[n] = {2,5,6,4,7,8,3,6,4};
int temp;
for(int i = 0; i<n/2; i++){
temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
for(int i = 0; i < n; i++){
cout << arr[i] << " ";
}
}
Đầu vào
9, {2,5,6,4,7,8,3,6,4}
Đầu ra
4 6 3 8 7 4 6 5 2