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

2021-10-03 08:38:07 字數 2784 閱讀 6925

#include

#include

//bool 型別 標頭檔案

#include

//包含了exit()、malloc()函式原型

/* 定義乙個資料型別m,該資料型別的名字叫做struct arr*/

struct arr

;void

init_arr

(struct arr * parr,

int length)

;//分號不能省略

(struct arr * parr,

int val)

;//追加 把val的值 加到陣列的末尾

bool insert_arr

(struct arr * parr,

int pos,

int val)

;//pos的值從1開始 在pos位置的前面插入值val

bool delete_arr

(struct arr *

,int pos,

int*pval)

;//f刪除陣列中第pos個位置的元素值,且令pval=刪除的元素值

intget()

;/*本程式此函式也不到*/

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)

;//倒置元素

intmain

(void

)/*操作:初始化陣列*/

/*前提條件:有乙個長度固定的待初始化的陣列*/

/*後置條件:該鍊錶初始化為空*/

void

init_arr

(struct arr *parr,

int length)

else

return;}

/*操作:判斷陣列是否為空*/

/*前提條件:有乙個長度固定的陣列指標*/

/*後置條件:返回是否是空的判斷結果*/

bool is_empty

(struct arr * parr)

/*操作:判斷陣列是否為滿*/

/*前提條件:有乙個長度固定的陣列指標*/

/*後置條件:返回是否是滿的判斷結果*/

bool is_full

(struct arr *parr)

/*操作:列印實際陣列元素*/

/*前提條件:有乙個長度固定的陣列指標*/

/*後置條件:列印在顯示器上*/

void

show_arr

(struct arr *parr)

else

}/*操作:在陣列長度允許的條件下,在陣列元素後面增加val的值*/

/*前提條件:有乙個長度固定的陣列指標和待增加的值*/

/*後置條件:返回是否成功增加的結果*/

(struct arr *parr,

int val)

return true;

}/*操作:在陣列的固定位置插入乙個元素*/

/*前提條件:有乙個長度固定的陣列指標、待插入的位置pos、待插入的值val*/

/*後置條件:返回是否成功插入val值的結果*/

bool insert_arr

(struct arr *parr,

int pos,

int val)

parr->pbase[pos-1]

= val;

parr->cnt++

;return true;

}/*操作:刪除乙個陣列中固定位置pos的值並且顯示該刪除的值*/

/*前提條件:有乙個長度固定的陣列指標、待刪除的元素位置pos、該元素的值&pval*/

/*後置條件:返回是否成功刪除結果及待刪除的值大小*/

bool delete_arr

(struct arr * parr,

int pos,

int*pval)

(parr->cnt)--;

return true;

}/*操作:進行陣列元素的逆置*/

/*前提條件:有乙個長度固定的陣列指標*/

/*後置條件:返回是否成功逆置結果*/

void

inversion_arr

(struct arr * parr)

return;}

/*操作:為陣列進行排序*/

/*前提條件:有乙個長度固定的陣列指標*/

/*後置條件:按照公升序或者降序排序後的陣列*/

void

sort_arr

(struct arr * parr)}}

return

;}

陣列為空!

1 10 -3 88 11

倒置之後的陣列內容是:

11 88 -3 10 1

公升序之後的陣列內容是:

-3 1 10 11 88

刪除了第3個元素,它原先的值為: 10

-3 1 11 88

program ended with exit code: 0

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

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

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

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

資料結構之儲存結構

儲存結構是資料 的邏輯結構 用計算機語言的實現,常見的 儲存結構 有 順序儲存 鏈式儲存 索引儲存 以及雜湊儲存 其中雜湊所形成的儲存結構叫 雜湊表 又叫雜湊表 因此雜湊表也是一種儲存結構。棧只是一種抽象資料型別,是一種邏輯結構,棧邏輯結構對應的順序儲存結構為順序棧,對應的鏈式儲存結構為鏈棧 迴圈佇...