順序儲存結(jié)構(gòu)-創(chuàng)新互聯(lián)

#include
#include

創(chuàng)新互聯(lián)是一家網(wǎng)站設(shè)計公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營產(chǎn)品:響應(yīng)式網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計、全網(wǎng)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動的體驗,以及在手機等移動端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運營、VI設(shè)計、云產(chǎn)品.運維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務(wù)。

typedef struct Arr
{
?int *pBase;
?int lenth;
?int cnt;
}*PARR,ARR;

void init(PARR pArr,int len);
void show_arr(PARR pArr);
bool is_empty(PARR pArr);
bool is_full(PARR pArr);
bool append_arr(PARR pArr,int val);
bool insert_arr(PARR pArr,int pos,int val);
bool delete_arr(PARR pArr,int pos,int *pVal);
void inversion_arr(PARR pArr);//將數(shù)組逆序?
void sort_arr(PARR pArr);//將數(shù)組內(nèi)元素排序?

int main()
{
?ARR arr;
?int pos1,val1,pos2,dnum;
?init(&arr,6);
?printf("初始化后");
?show_arr(&arr);
?for(int i=1;i<=5;i++)
?append_arr(&arr,i);
?printf("\n增添后的");
?show_arr(&arr);
?printf("\n請輸入插入的位置:");
?scanf("%d",&pos1);
?printf("請輸入插入的數(shù)據(jù):");
?scanf("%d",&val1);
?if(insert_arr(&arr,pos1,val1))
?{
?printf("插入后的");
?show_arr(&arr);
?}
?else
?{
??? ?printf("插入失敗");
?}
?printf("\n請輸入刪除的位置:");
?scanf("%d",&pos2);
?if(delete_arr(&arr,pos2,&dnum))
?{
??? ?printf("刪除的數(shù)據(jù)為:%d",dnum);
??? ?printf("\n刪除后的");
??? ?show_arr(&arr);
?}?
?else
?{
??? ?printf("刪除失敗");
?}
?inversion_arr(&arr);
?printf("\n逆序后的");
?show_arr(&arr);
?sort_arr(&arr);
?printf("\n排序后的");
?show_arr(&arr);
?return 0;
}
void init(PARR pArr,int len)//pArr只是定義的結(jié)構(gòu)體指針,通過它可以調(diào)用結(jié)構(gòu)體中的數(shù)據(jù)?
{
?pArr->pBase=(int *)malloc(sizeof(int)*len);//分配大小為len的空間為數(shù)組空間,此時pBase可當數(shù)組用?
?if(pArr->pBase==NULL)
?{
??? ?printf("內(nèi)存分配失敗??!");
??? ?exit(-1);
?}
?else
?{
??? ?pArr->lenth=len;?
??? ?pArr->cnt=0;
?}
?return ;
}
void show_arr(PARR pArr)
{
?if(is_empty(pArr))
?printf("順序鏈表為空?。?);
?else
?{
??? ?printf("順序鏈表為:");
??? ?for(int i=0;icnt;i++)
??? ?printf("%d ",pArr->pBase[i]);//輸出pArr指向的結(jié)構(gòu)體中的pBase數(shù)組?
?}
?return ;
}
bool is_empty(PARR pArr)
{
?if(pArr->cnt==0)//實際長度為0才為空?
?return true;
?else
?return false;
}
bool is_full(PARR pArr)
{
?if(pArr->cnt==pArr->lenth)//實際長度和大長度相同是該數(shù)組已滿?
?return true;
?else
?return false;
}
bool append_arr(PARR pArr,int val)
{
?if(is_full(pArr))//若數(shù)組已滿則無法再在后面容納數(shù)據(jù)?
?return false;
?pArr->pBase[pArr->cnt]=val;//注意:第cnt個數(shù)據(jù)的數(shù)組下標為cnt-1?
?pArr->cnt++;//實際長度++?
?return true;
}
bool insert_arr(PARR pArr,int pos,int val)
{
?if(is_full(pArr))//若數(shù)組已滿則無法再有插入內(nèi)存?
?return false;
?if(pos<1||pos>pArr->cnt+1)
?return false;
?for(int i=pArr->cnt-1;i>=pos-1;i--)
?pArr->pBase[i+1]=pArr->pBase[i];
?pArr->pBase[pos-1]=val;
?pArr->cnt++;
?return true;
}
bool delete_arr(PARR pArr,int pos,int *pVal)
{
?if(is_empty(pArr))
?return false;
?if(pos<1||pos>pArr->cnt)
?return false;
?*pVal=pArr->pBase[pos-1]; //
?for(int i=pos;icnt;i++)
?pArr->pBase[i-1]=pArr->pBase[i];//
?pArr->cnt--;//
?return true;?
}
void inversion_arr(PARR pArr)
{
?int i=0;//i為第一個元素下標?
?int j=pArr->cnt-1;//j為最后一個元素下標?
?int t;
?while(i ?{
??? ?t=pArr->pBase[i];
??? ?pArr->pBase[i]=pArr->pBase[j];
??? ?pArr->pBase[j]=t;
??? ?i++;
??? ?j--;?
?}
?return ;
}
void sort_arr(PARR pArr)?
{
?int i,j,t;
?for(i=0;icnt-1;i++)
?{
??? ?for(j=i+1;jcnt;j++)
??? ?{
??? ??? ?if(pArr->pBase[i]>pArr->pBase[j])
??? ??? ?{
??? ??? ??? ?t=pArr->pBase[i];
??? ??? ??? ?pArr->pBase[i]=pArr->pBase[j];
??? ??? ??? ?pArr->pBase[j]=t;
??? ??? ?}
??? ?}
?}
?return ;
}
運行結(jié)果afddd7d2a982497c85390efd3d65549e.jpg

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前標題:順序儲存結(jié)構(gòu)-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article0/dpdpio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、營銷型網(wǎng)站建設(shè)移動網(wǎng)站建設(shè)、商城網(wǎng)站標簽優(yōu)化、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計