#include <iostream> using namespace std; struct LNode { int data; LNode *next; }; int main() { int n; cin >> n; int arr[n]; for(int i = 0; i < n; i++){ cin >> arr[i]; } if (n > 1) { // 交换第一个和第二个元素 int temp = arr[0]; arr[0] = arr[1]; arr[1] = temp; // 交换倒数第二个和倒数第一个元素 temp = arr[n - 2]; arr[n - 2] = arr[n - 1]; arr[n - 1] = temp; } // 创建链表并输出交换后的数组 LNode *head = new LNode(); LNode *t1 = head; for(int i = 0; i < n; i++){ LNode *t = new LNode(); t->data = arr[i]; t1->next = t; t1 = t1->next; } t1 = head->next; while(t1 != NULL){ cout << t1->data << " "; t1 = t1->next; } return 0; }