靜態鍊錶
1.下標為0的游標存放最後存放資料節點的游標,即是第乙個沒有存放元素(備用鍊錶)的下標
2.最後乙個的節點存放第乙個由數值得下標
3.第乙個和最後乙個都不存放資料 即是備用鍊錶的第乙個的下標
4.最後乙個儲存資料的節點的游標為0
靜態鍊錶主要是根據游標來遍歷,以前沒有指標用的思想
假如我要刪除乙個元素
圖不多描述,自己畫畫就明白,然後**部分。都有注釋,
1 #include 2插入原理:主要找到要插入的位置的前乙個節點游標,將其游標改為插入元素的下標,插入元素的游標記錄下乙個的下標。#define elemtype int
3#define status int
4#define maxsize 1000
5 typedef struct
component,staticlinklist[maxsize];910
11//
初始化靜態鍊錶
12 status initlist (staticlinklist space) //
初始化靜態鍊錶等於初始化陣列
1321
2223
//獲取備用鍊錶的第乙個元素下標 (插入操作)
24int
malloc_sll(staticlinklist space)25
3233
3435
36//
獲得鍊錶的長度
37int
listlength(staticlinklist l)
3847
return
j; 48}49
5051
5253
5455
//在靜態鍊錶l中第i個元素之前插入新的資料元素e
56 status listinsert(staticlinklist l,int
i,elemtype e)57
77return -1;78
}798081
8283
84//
將下標為k的空閒節點**到備用表中
85void free_sll(staticlinklist space,int
k) 86
9091
9293
9495
//刪除在l中的第i個元素資料
96 status listdelete(staticlinklist l,int
i)97
112
雖然靜態鍊錶被指標取代了,但是這思想要懂,以後開發的時候可以用到。
使用C語言描述靜態鍊錶和動態鍊錶
靜態鍊錶和動態鍊錶是線性表鏈式儲存結構的兩種不同的表示方式。靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時不需要移動元素,僅需修改指標,故仍具有鏈式儲存結構的主要優點。動態鍊錶是相對於靜態鍊錶而言的,一般地,在描述線性表的鏈式儲存結構時如果沒有特別說明即預設描述的是動態鍊錶。下面給出它們的簡單...
靜態鍊錶實現(C語言)
對於線性鍊錶,也可用一維陣列來進行描述。這種描述方法便於在沒有指標型別的高階程式語言中使用鍊錶結構。先上 include define maxsize 7 typedef struct slinklist maxsize 初始化靜態鍊錶 void list init slinklist list 插...
C語言靜態鍊錶和動態鍊錶
1.靜態鍊錶 結構體中的成員可以是各種型別的指標變數,當乙個結構體中有乙個或多個成員的基型別是本結構體型別時,則稱這種結構體為 引用自身的結構體 如 struct link a p是乙個可以指向 struct link 型別變數的指標成員。因此,a.p a 是合法的表示式,由此構成的儲存結構如圖1所...