資料結構順序表(C語言實現)

2021-10-05 00:27:30 字數 1991 閱讀 1837

標頭檔案和函式申明

#include

#include

#include

typedef

struct arr //定義了乙個資料型別,該資料型別的名字叫做struct arr,該資料型別含有三個成員pbase,len,cnt

arr;

void

init_arr

(arr *parr,

int length)

;(arr *parr,

int val)

;bool insert_arr

(arr *parr,

int pos,

int val)

;bool delete_arr

(arr *parr,

int pos,

int*pval)

;int

get();

bool is_empty

(arr *parr)

;bool is_full

(arr *parr)

;void

sort_arr

(arr *parr)

;void

show_arr

(arr *parr)

;void

inversion_arr

(arr *parr)

;

函式的實現

void

init_arr

(arr *parr,

int length)

//該函式實現的是對結構體變數進行初始化,通過分配記憶體構造出乙個大小固定的陣列,其中傳入首位址和陣列的長度。

else

return;}

bool is_empty

(struct arr *parr)

bool is_full

(struct arr *parr)

void

show_arr

(struct arr *parr)

//這個既可以用傳位址的方法也可以用用傳值方法呼叫

return;}

(arr *parr,

int val)

}bool insert_arr

(arr *parr,

int pos,

int val)

for(i=parr->cnt-

1;i>=pos-

1;i--

) parr->pbase[i+1]

=val;

parr->cnt++

;return true;

}bool delete_arr

(arr *parr,

int pos,

int*pval)

parr->cnt--

;return true;

}void

inversion_arr

(arr *parr)

}void

sort_arr

(arr *parr)

//選擇排序法}}

}

測試

int

main()

else

show_arr

(&arr)

;inversion_arr

(&arr)

;show_arr

(&arr)

;sort_arr

(&arr)

;show_arr

(&arr)

;return0;

}

順序表就是我們c語言中的陣列,也是最簡單的一種線性結構其優點是儲存速度快,缺點是插入刪除操作比較麻煩。

ps:剛開始學習資料結構,通過寫部落格讓自己對資料結構有更深的了解,希望大佬多多指教。

資料結構 順序表(C語言實現)

順序表的定義是 把線性表中所有表項按照其邏輯順序依次儲存到從計算機儲存中指定儲存位置開始的一塊連續的儲存空間中。這樣,線性表中第乙個表項的儲存位置就是被指定的儲存位置,第i個表項 2 i n 的儲存位置緊接在第i 1個表項的儲存位置的後面。假設順序表中每個表項的資料型別為t,則每個表項所占用儲存空間...

C語言實現順序表 資料結構

include include 需求,寫乙個順序線性表,儲存乙個位址位置 define list init size 100 線性表儲存空間的初始分配量 define listincrement 10 線性表儲存空間的分配增量 define true 1 define false 0 define ...

資料結構 順序表(C語言實現)

順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。順序表一般可以分為靜態順序表 使用定長陣列儲存 和動態順序表 使用動態開闢的陣列儲存 本次實現的是動態順序表,具體 如下 common.h include include includ...