靜態鍊錶的優缺點:
優點:1、在插入和刪除操作時,只需要改變游標cur,不需要移動元素,從而改進了在順序儲存結構中的插入和刪除中需要移動大量元素的缺點
缺點:1、沒有解決連續儲存分配帶來的表長難以確定的問題
2、失去了順序儲存結構隨機訪問的特性
#includeusing namespace std;
#define true 1
#define false 0
#define maxsize 1000
typedef int elemtype;
typedef int status;
//陣列第乙個元素的cur存放備用鍊錶的第乙個節點的下標
//陣列最後乙個元素的cur存放第乙個有數值的元素的下標,相當於單鏈表的頭結點作用,為空時cur=0
typedef struct linklist
component,staticlinklist[maxsize];
//初始化陣列狀態,使得最後乙個元素的cur=0,第乙個元素到倒數第二個元素的cur=i+1
status initlist(staticlinklist space)
//將下標為k的空閒結點**到備用鍊錶
void free_staticlinklist(staticlinklist space,int k)
//刪除第i個位置的元素e
status listdelete(staticlinklist l,int i)
int main()
//刪除靜態鍊錶第1個位置元素
listdelete(l,1);
return 0;
}
線性表 靜態鍊錶
靜態鍊錶,是通過游標來記錄下乙個節點的位置,約定第乙個游標指向備用列表的頭,最後乙個游標指向靜態鍊錶的頭,比如 函式宣告 status static list init static list space status search bp positon static list space stat...
線性表(3) 靜態鍊錶
靜態鍊錶 1.利用連續的靜態儲存空間模擬實現鍊錶的操作 2.建立資料鏈表,利用游標作為指標,指向下一元素儲存位置,l max 1 cur為頭指標,指向第乙個資料元素 3.建立空閒結點鍊錶,利用游標作為指標,指向下一空閒結點位置,l 0 cur為頭指標,指向第乙個空閒結點所在位置 4.l 0 data...
線性表 3靜態鍊錶
通過上面的學習我們知道,靜態鍊錶儲存資料元素也需要自定義資料型別,至少需要包含以下 2 部分資訊 include define maxsize 7 typedef struct component 將結構體陣列中所有分量鏈結到備用鍊錶中 void reservearr component array...