温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

顺序数组的练习

发布时间:2020-09-07 08:11:15 来源:网络 阅读:403 作者:dreamhorse 栏目:编程语言
/*顺序数组的练习*/ #include <stdio.h> #include <malloc.h> #include <stdlib.h> //定义一个结构体数组变量 typedef struct{	int * pBase;  //定义一个指针变量,指向数组	int cnt;     //定义一个×××变量表示当前数组的有效元素个数	int length;  //定义数组的长度 }Arr; void init_Arr(Arr * pArr,int length);  //初始化数组 void show_Arr(Arr * pArr);  //数组显示 bool is_empty(Arr * pArr);  //判断数组是否为空 bool append(Arr * pArr,int val);  //向数组中追加元素 bool is_full(Arr * pArr);  //判断数组是否已满 bool insert(Arr * pArr,int inval,int index);  //向数组中插入数值 //主函数入口 void main(){	Arr arr; //定义一个Arr类型的结构体变量arr,在内存空间中申请一块空间给数组使用	init_Arr(&arr,6);	append(&arr,3);	append(&arr,8);	append(&arr,4);	printf("目前数组中有%d个元素\n",arr.cnt);	if(insert(&arr,3,2)){	printf("插入值成功\n");	}else{	printf("插入值失败\n");	}	show_Arr(&arr); } void init_Arr(Arr * pArr,int length){	pArr->pBase=(int *)malloc(sizeof(int) * length);	if(NULL==pArr->pBase){	printf("给数组分配空间失败.");	exit(-1);	}	else{	pArr->length = length;	pArr->cnt = 0;	} } void show_Arr(Arr * pArr){	if(is_empty(pArr)){	printf("数组为空.\n");	}	else{	for(int i=0;i<pArr->cnt;i++){	printf("%d ",pArr->pBase[i]);	}	printf("\n");	} } bool is_empty(Arr * pArr){	if(pArr->cnt==0){	return true;	}	else{	return false;	} } bool append(Arr * pArr,int val){	if(is_full(pArr)){	return false;	}	else{	pArr->pBase[pArr->cnt] = val;	(pArr->cnt)++;	return true;	} } bool is_full(Arr * pArr){	if(pArr->cnt==pArr->length){	return true;	}	else{	return false;	} } bool insert(Arr * pArr,int inval,int index){	if(is_full(pArr)){	return false;	}	if(index<0 || index>pArr->length){	return false;	}	else{	for(int j=pArr->cnt;j>index;j--){	pArr->pBase[j]=pArr->pBase[j-1];	}	pArr->pBase[index]=inval;	(pArr->cnt)++;	return true;	} }

运行结果如下


顺序数组的练习


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI