【描述】
将一个数组中的值按逆序重新存放。例如,原来的顺序为 8 、 6 、 5 、 4 、 1 。要求改为 1 、 4 、 5 、 6 、 8 。
【输入】
输入有两行:第一行数组中元素的个数 n ( 1 < n <100) ,第二行是 n 个整数,每两个整数以空格间隔。
【输出】
输出有一行,输出逆序后数组元素值,每两个整数以空格间隔。
【输入示例】
5
8 6 5 4 1
【输出示例】
1 4 5 6 8
【C代码】
---------------
#include <stdio.h>
#define ARRAY_SIZE 100
int main(void) {
int a[ARRAY_SIZE];
int i, n, temp;
scanf("%d", &n);
for(i = 0; i < n; ++i)
scanf("%d", &a[i]);
for(i = 0; i < n / 2; ++i) {
temp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = temp;
}
for(i = 0; i < n; ++i)
printf("%d ", a[i]);
printf("\n");
return 0;
}
原地逆序 一样吧 或者数组快一点
头部插入 链表快
返回中间节点 数组快
返回头部节点 一样快
选择随机节点 数组快