添加頭文件
聲明宏定義
設計數據結構
功能函數聲明
具體功能實現
簡單調用測試
int main()
{
// 創建
Array* arr = create_array(20);
// 存數
for(int i=0; i<100; i++)
{
TYPE* p = access_array(arr,i);
if(NULL != p)
{
*access_array(arr,i) = rand() % 100;
// access_array(arr,i)返回值是地址,可以解引用
// *access_array(arr,i)就相當於是*p,也就相當於是變量,可賦值
// 若是下標i有問題,返回的地址可能爲空,就會形成段錯誤
// 故要先把每個返回值都接收一下,判斷是否爲空,才進行賦值,這樣無論 i<多少 程序都可以運行,只會放進<20的數
}
}
show_array(arr);
sort_array(arr);
show_array(arr);
printf("find index = %d\n",find_array(arr,86));
delete_array(arr,15);
delete_array(arr,15);
printf("find index = %d\n",find_array(arr,86));
show_array(arr);
insert_array(arr,10,86);
printf("find index = %d\n",find_array(arr,86));
show_array(arr);
destory_array(arr);
}
結果
總結
創建:malloc先後兩個空間
銷燬:free先後銷燬兩個空間
訪問:判斷下標合法後即可返回存儲的元素
查找:循環判斷表中的元素是否相等,找到後返回下標
排序:常規對元素進行排序
遍歷:循環打印
刪除:判斷下標合法後將index後面的元素向前移(i++),覆蓋掉原元素
插入:判斷下標合法後將index空出,循環從後往前將元素後移(i–),跳出循環後再給index位賦值