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

2021-09-24 05:43:27 字數 2309 閱讀 6526

連續儲存陣列演算法實現

#include

#include

//包含了malloc

#include

//包含了exit

typedef

enum __bool bool;

//定義了乙個資料型別,該資料型別名為 struct arr

//該資料型別含有三個成員,分別是pbase,len,cnt

struct arr

;void

init_arr

(struct arr *parr,

int length)

;//初始化

(struct arr *parr,

int val)

;//追加

bool insert_arr

(struct arr *parr,

int pos,

int val)

;//插入 pos的值從1開始

bool delete_arr

(struct arr *parr,

int pos,

int* pval)

;//刪除

//int get(); //獲取值

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)

;//倒置

void

init_arr

(struct arr *parr,

int length)

else

return;}

bool is_empty

(struct arr * parr)

void

show_arr

(struct arr * parr)

else

printf

("\n");

}}bool is_full

(struct arr * parr)

(struct arr *parr,

int val)

//不滿時追加

parr->pbase[parr->cnt]

= val;

(parr->cnt)++;

return true;

}bool insert_arr

(struct arr *parr,

int pos,

int val)

parr->pbase[pos-1]

= val;

parr->cnt ++

;//插入完成,個數加1

return true;

}bool delete_arr

(struct arr *parr,

int pos,

int* pval)

parr->cnt --

;return true;

}//倒置

void

inversion_arr

(struct arr * parr)

}//排序

void

sort_arr

(struct arr * parr)}}

}//乙個簡單的測試,使用者可以根據實際情況進行選擇使用

//這個連續陣列儲存還不夠完善,使用者可以自行新增 查詢,刪除所有等方法

//方法新增方法與上述類似

intmain

(void

)//insert_arr(&arr,1,99);

/*insert_arr(&arr,6,99);

if(!insert_arr(&arr,7,100))

else

*///倒置測試

inversion_arr

(&arr)

;show_arr

(&arr)

;//排序測試

sort_arr

(&arr)

;show_arr

(&arr)

;//printf("%d\n",arr.len);

return0;

}

資料結構線性結構之連續儲存 陣列

鍊錶是線性資料結構中的一種,線性資料結構是指用接點關聯起來 它包含連續存入 陣列和離散儲存 鍊錶 最常用的應用如棧 佇列 陣列 元素型別相同,大小相等 指儲存的型別相等 php lua 和c陣列的比較 1 定義乙個陣列 php arr array 可以不指定大小直接指定,而且後續可以直接新增 lua...

資料結構入門之 連續儲存結構 陣列

include include bool 型別 標頭檔案 include 包含了exit malloc 函式原型 定義乙個資料型別m,該資料型別的名字叫做struct arr struct arr void init arr struct arr parr,int length 分號不能省略 str...

連續儲存陣列的演算法

昨天學習了連續儲存陣列的演算法,我今天打算用c語言實現,雖然 有好多地方都不好 比如1 如何更正使用者的非法輸入,2 無法中斷追加,也就是說雖然陣列定義了6個元素,但是只想追加兩個元素,其餘的可通過插入的方式確定元素。但是心裡還是很爽。這種一下一下敲出來的,經過好多次執行,除錯,最後成功的感覺真是無...