溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

順序數(shù)組的練習(xí)

發(fā)布時間:2020-09-07 08:11:15 來源:網(wǎng)絡(luò) 閱讀:386 作者:dreamhorse 欄目:編程語言
/*順序數(shù)組的練習(xí)*/
#include?<stdio.h>
#include?<malloc.h>
#include?<stdlib.h>
//定義一個結(jié)構(gòu)體數(shù)組變量
typedef?struct{
	int?*?pBase;??//定義一個指針變量,指向數(shù)組
	int?cnt;?????//定義一個×××變量表示當(dāng)前數(shù)組的有效元素個數(shù)
	int?length;??//定義數(shù)組的長度
}Arr;

void?init_Arr(Arr?*?pArr,int?length);??//初始化數(shù)組
void?show_Arr(Arr?*?pArr);??//數(shù)組顯示
bool?is_empty(Arr?*?pArr);??//判斷數(shù)組是否為空
bool?append(Arr?*?pArr,int?val);??//向數(shù)組中追加元素
bool?is_full(Arr?*?pArr);??//判斷數(shù)組是否已滿
bool?insert(Arr?*?pArr,int?inval,int?index);??//向數(shù)組中插入數(shù)值

//主函數(shù)入口
void?main(){
	Arr?arr;?//定義一個Arr類型的結(jié)構(gòu)體變量arr,在內(nèi)存空間中申請一塊空間給數(shù)組使用
	init_Arr(&arr,6);
	append(&arr,3);
	append(&arr,8);
	append(&arr,4);
	printf("目前數(shù)組中有%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("給數(shù)組分配空間失敗.");
		exit(-1);
	}
	else{
		pArr->length?=?length;
		pArr->cnt?=?0;
	}
}

void?show_Arr(Arr?*?pArr){
	if(is_empty(pArr)){
		printf("數(shù)組為空.\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;
	}
}

運行結(jié)果如下


順序數(shù)組的練習(xí)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI