連續儲存陣列的演算法

2021-06-05 10:29:45 字數 2016 閱讀 7359

昨天學習了連續儲存陣列的演算法,我今天打算用c語言實現,雖然**有好多地方都不好(比如1、如何更正使用者的非法輸入,2、無法中斷追加,也就是說雖然陣列定義了6個元素,但是只想追加兩個元素,其餘的可通過插入的方式確定元素。),但是心裡還是很爽。這種一下一下敲出來的,經過好多次執行,除錯,最後成功的感覺真是無以言表。我身為乙隻菜鳥,希望各路大神指導,尤其是剛才括號裡的兩個問題,哪位可以幫我改進一下。

#include #include #include struct arr

; //分號不能省

void init_arr(struct arr * parr, int length); //初始化

bool insert_arr(struct arr * parr, int pos, int val); // 插入,pos的值從1開始

bool delete_arr(struct arr * parr, int pos, int * pval);//刪除

bool is_empty(struct arr * parr); //判斷是否為空

bool is_full(struct arr * parr); //判斷是否為滿

void sort_arr(struct arr * parr); //排序

void show_arr(struct arr * parr); //顯示

void inversion_arr(struct arr * parr); //倒置

int main();

printf("請輸入想刪除元素的位置:pos = ");

scanf("%d",&pos);

if ( delete_arr(&arr, pos, &val) )

else

show_arr(&arr);

printf("請輸入你想插入元素的位置:pos = ");

scanf("%d",&pos);

printf("請輸入你想插入的元素:val = ");

scanf("%d",&val);

insert_arr(&arr,pos,val);

show_arr(&arr);

inversion_arr(&arr);

printf("倒置之後:\n");

show_arr(&arr);

sort_arr(&arr);

printf("排序之後:\n");

show_arr(&arr);

return 0;

}void init_arr(struct arr * parr, int length)

else }

bool is_empty(struct arr * parr)

bool is_full(struct arr * parr)

void show_arr(struct arr * parr)

printf("\n");

} }else }

bool insert_arr(struct arr * parr, int pos, int val)

else if (pos < 1 || pos > (parr->cnt +1))

else

for(i=parr->cnt-1;i>=pos-1;--i)

parr->pbase[pos-1] = val;

parr->cnt++;

return true;

}bool delete_arr(struct arr * parr, int pos, int * pval)

else if(pos < 1 || pos > parr->cnt)

else

parr->cnt--;

return true; }}

void sort_arr(struct arr * parr)

} }}void inversion_arr(struct arr * parr)

return;

}

連續儲存陣列

include include include struct arr void init arr struct arr parr,int length 初始化 struct arr parr,int val 追加 bool insert arr struct arr parr,int pos,int...

建立連續儲存陣列

2017年6月16日 08 45 55 資料結構 c 建立連續儲存陣列 功能 初始化 追加 插入 刪除 排序 是否空 是否滿 include include include typedef struct arr sa void init sa arr,int len void show sa arr...

資料結構 連續儲存陣列的演算法

連續儲存陣列演算法實現 include include 包含了malloc include 包含了exit typedef enum bool bool 定義了乙個資料型別,該資料型別名為 struct arr 該資料型別含有三個成員,分別是pbase,len,cnt struct arr void...