小滴课堂云架构大课
2023-09-28 22:39 作者:邱邱邱2585093180 | 我要投稿
问题: 数组逆序,将一维数组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]);}