码牛移动高级开发第5期(安全逆向)
2023-08-23 10:17 作者:bili_67158895267 | 我要投稿
问题: 数组逆序,将一维数组a中的n个数逆序存放在原数组中.
int n = 10;int a[10] = {1,2,3,4,5,6,7,8,9,10};//算法实现(1) ,仅仅通过借助一个临时变量temp,与问题规模n大小无关,所以其空间复杂度为O(1);int temp;for(int i = 0; i < n/2 ; i++){
temp = a[i];
a[i] = a[n-i-1];
a[n-i-1] = temp;}for(int i = 0;i < 10;i++){
printf("%d\n",a[i]);}//算法实现(2) 借助一个大小为n的辅助数组b,所以其空间复杂度为O(n)int b[10] = {0};for(int i = 0; i < n;i++){
b[i] = a[n-i-1];}for(int i = 0; i < n; i++){
a[i] = b[i];}for(int i = 0;i < 10;i++){
printf("%d\n",a[i]);}