The key code is as follows:
#include<stdio.h>
#include<malloc.h> //包含了malloc函数
#include<stdlib.h> //包含了exit函数
struct Arr
{
int *pBase; //存储数组第一个元素的地址
int len; //数组所能容纳的最大元素的个数
int cnt; //当前数组有效元素个数
};
void inversion_arr(struct Arr * pArr); //倒置
int main(){
struct Arr arr;
int val;
init_arr(&arr,6);
append_arr(&arr,1);
append_arr(&arr,2);
append_arr(&arr,3);
append_arr(&arr,4);
append_arr(&arr,5);
inversion_arr(&arr);//倒序代码
show_arr(&arr);
return 0;
}
void inversion_arr(struct Arr * pArr){
int i=0;
int j=pArr->cnt-1;
int t;
while(i<j){
t=pArr->pBase[i];
pArr->pBase[i]=pArr->pBase[j];
pArr->pBase[j]=t;
++i;
--j;
}
return;
}
This article only shows part of the key code, detailed code, please refer to the previous article.
Reference link: https://www.bilibili.com/video/BV11s41167h6?p=13