線性表順序儲存
線性表鏈式儲存一——單鏈表
線性表鏈式儲存二——迴圈鍊錶
線性表鏈式儲存三——雙向鍊錶
線性表鏈式儲存四——靜態鍊錶
# include
# include
typedef
struct nodenode,
*nodep;
//初始化,一開始尾指標指向尾節點即為頭節點 ,自己指向自己
void
initiallist
(nodep* rear)
//插入資料 頭插法,尾節要變為第乙個節點位置,所以必須傳位址,資料插入頭節點之後
void
insertdata
(nodep* prear)
else
head->next=newnode;
}else}}
//尾插法 尾指標不斷後移 要傳位址
void
tailinsert
(nodep* prear)
else}}
//刪除指定索引元素 若刪除尾節點,則需要移動尾指標,所以傳位址
intdeleteindex
(nodep* prear)
else
else}if
(pp==
*prear)
else
}return0;
}//刪除找到的第乙個元素
intdeletechar
(nodep* prear)
else}if
(pp==
(*prear)
)else
return0;
}void
printlist
(nodep rear)
printf
("\n");
}void
main()
資料結構 鏈式儲存線性表
鏈式儲存結構的線性表 簡稱為鍊錶 將採用一組位址任意的儲存單元存放線性表中的資料元素,鏈式結構的線性表不會按線性的邏輯順序來儲存資料元素,它需要在每乙個資料元素裡儲存乙個引用下乙個資料元素的引用。優點 插入 刪除元素快,充分利用計算機記憶體空間 缺點 查詢元素需要整體遍歷,空間開銷大 單鏈表 cre...
線性表的鏈式儲存 資料結構
為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,除了儲存本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 我們把儲存資料元素資訊的位置稱為資料域,把儲存其直接後繼資訊的位置稱為指標域。這兩部分組成資料元素的結點 node 頭結點頭結點是為了操作的統一和方便而設立的,放在...
資料結構 線性表鏈式儲存結構 迴圈鍊錶
巨集定義 define failed 1 define success 0 typedef struct cirslinknode cirslinknode typedef struct cirdlinknode cirdlinknode 帶頭結點的迴圈單鏈表,統計其data域值為x的結點個數 in...