把所有的節點用一根直線串起來
連續儲存[陣列]
什麼叫做陣列:元素型別相同,大小相等
重點看**吧,需要注意的都在注釋裡,多敲幾遍,當然了,有些功能還沒有實現,以後再實現
#include #include #include // 定義了乙個資料型別,這個資料型別的名字叫做struct arr,有三個成員
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(void)
// 用於初始化,自己指定長度
void init_arr(struct arr * parr , int length)
else
return;
}// 輸出陣列
void show_arr(struct arr * parr )
else }
}// 判斷陣列是否為空
bool is_empty(struct arr * parr )
// 判斷陣列是否滿了
bool is_full(struct arr * parr )
// 末尾新增元素
else }
// 指定位置插入指定的元素
bool insert_arr(struct arr * parr , int pos , int val)
// 把指定元素插入到指定位置就可以了,然後個數加1
parr->pbase[pos-1] = val;
parr->cnt++;
printf("插入成功\n");
return true;
}// 刪除指定位置的值,並返回刪除的值,用指標
bool delete_arr(struct arr * parr , int pos , int *pval)
if (pos < 1 || pos > parr->cnt)
// 把要刪除的那個值先賦值
*pval = parr->pbase[pos-1];
for (i = pos; i <= parr->cnt; i++)
parr->cnt--;
printf("刪除成功\n");
return true;
}// 進行倒置
void inversion_arr(struct arr * parr)
return;
}// 排序
void sort_arr(struct arr * parr )
} }}
資料結構 線性結構
typedef int position typedef struct lnode list struct lnode 初始化 list makeempty 查詢 define error 1 position find list l,elementtype x 插入 bool insert lis...
資料結構 線性結構
線性表基本操作有 1 list makeempty 初始化乙個新的線性表 2 elementtype findkth list l,int i 根據指定的位序i,返回l中相應元素ai i是下標 3 position find list l,elementtype x 已知x,返回線性表l中與x相同的...
資料結構 線性結構與非線性結構
線性結構是最常用的資料結構,其特點是資料元素之間存在著一對一的線性關係。線性結構有著兩種不同的儲存結構,順序儲存結構 陣列 和鏈式儲存結構 鍊錶。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的。鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,並且鍊錶元素節點中存放著資料元素以及相鄰...