Implementation of inversion reverse order operation code of data structure

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;
}

Insert picture description here

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

Guess you like

Origin blog.csdn.net/dd_Mr/article/details/106306492