Reverse array = สลับตำแหน่ง element แรก-สุดท้าย, ที่สอง-ลำดับสองจากท้าย, ...
วิธี: ใช้ array ช่วย (Copy แล้วสลับ)
for (i = num-1, j = 0; i >= 0; i--, j++)
array2[j] = array1[i];
// copy กลับ
for (i = 0; i < num; i++)
array1[i] = array2[i];
โปรแกรม
#include <stdio.h>
int main() {
int num, i, j, array1[50], array2[50];
printf("Enter no of elements: ");
scanf("%d", &num);
printf("Enter array elements:\n");
for (i = 0; i < num; i++)
scanf("%d", &array1[i]);
// Copy reversed
for (i = num-1, j = 0; i >= 0; i--, j++)
array2[j] = array1[i];
// Copy back
for (i = 0; i < num; i++)
array1[i] = array2[i];
printf("Reversed array:\n");
for (i = 0; i < num; i++)
printf("%d\n", array1[i]);
return 0;
}
ผลลัพธ์
Enter no of elements: 4
Enter array elements: 20 50 60 70
Reversed array:
70
60
50
20
หมายเหตุ: สามารถ reverse in-place ได้โดย swap array1[i] กับ array1[num-1-i] จนกว่า i < num/2