Bây giờ, hãy cố gắng sắp xếp lại các phần tử của mảng, đảo ngược thứ tự của các phần tử: phần tử thứ nhất và thứ năm cũng như các phần tử thứ hai và thứ tư sẽ được hoán đổi. Thứ ba sẽ không thay đổi.
Câu hỏi: làm thế nào chúng ta có thể hoán đổi giá trị của hai biến ? Hãy nhìn vào đoạn mã sau – nếu chúng ta làm một cái gì đó như thế này, chúng ta sẽ mất giá trị mà chúng ta đã lưu trữ trước đó trong biến variable2
1 2 3 4 |
int variable1 = 1, variable2 = 2; variable2 = variable1; variable1 = variable2; |
Để giải quyết vấn đề này chúng ta cần một biến thứ ba để hỗ trợ như sau →
1 2 3 4 5 |
int variable1 = 1, variable2 = 2, auxiliary; auxiliary = variable1; variable1 = variable2; variable2 = auxiliary; |
1 2 3 4 5 6 7 8 9 |
/* swap elements #1 and #5 */ auxiliary = numbers[0]; numbers[0] = numbers[4]; numbers[4] = auxiliary; /* swap elements #2 and #4 */ auxiliary = numbers[1]; numbers[1] = numbers[3]; numbers[3] = auxiliary; |
1 2 3 4 5 |
for(int i = 0; i < 2; i++) { auxiliary = numbers[i]; numbers[i] = numbers[4 – i]; numbers[4 – i] = auxiliary; } |