單向鍊錶的實現
記錄 非常菜雞的開始
節點中定義節點時 成員變數要寫struct 因為沒寫報了一堆錯
老師節點裡的node都是變數型別,只有linknode內部是指標型別,內部使用指標,指標大小為4個位元組 可以分配記憶體很方便。
注意teacher輸入的時候為位址 各種指標型別的轉換
main函式中輸入為位址 強制轉換成節點指標型別
每個函式讀取鍊錶list時是鍊錶型別void 用的時候要轉換成頭指標型別
釋放完記憶體記得指向0
test.cpp為測試的程式
#include
#include
#include
#include
"link.h"
typedef
struct teacher
teacher;
intmain()
while
(link_length
(list)!=0
)link_clear
(list)
;link_destory
(list)
;}
標頭檔案
#pragma once
#include
#include
#include
typedef
void linklist;
typedef
struct linknode
linknode;
typedef
struct tlink
tlink;
linklist*
link_creat()
;void
link_clear
(linklist* list)
;void
link_destory
(linklist* list)
;int
link_length
(linklist* list)
;int
link_insert
(linklist* list, linknode* item,
int pos)
;linknode*
link_delete
(linklist* list,
int pos)
;linknode*
link_get
(linklist* list,
int pos)
;
.c檔案
#include
#include
#include
#include
"link.h"
linklist*
link_creat()
tmp->length =0;
tmp->head.next =
null
;printf
("creat finish\n");
return tmp;
}void
link_clear
(linklist* list)
void
link_destory
(linklist* list)
free
(tmp)
; tmp =
null
;//釋放完記憶體記得指向零
printf
("creat destory\n");
return;}
intlink_length
(linklist* list)
intlink_insert
(linklist* list, linknode* item,
int pos)
linknode* cur =
&(tmp->head)
;//注意型別轉換
int i =0;
for(i =
0;i < pos;i++
) item->next = cur->next;
cur->next = item;
tmp->length++
;printf
("finish insert\n");
return0;
}linknode*
link_delete
(linklist* list,
int pos)
linknode* cur =
&(tmp->head)
; linknode* ret=
null
;int i =0;
for(i =
0;i < pos;i++
) ret = cur->next;
cur->next = ret->next;
tmp->length--
;printf
("finish delete\n");
return ret;
}linknode*
link_get
(linklist* list,
int pos)
linknode* cur =
&(tmp->head)
;//linknode* ret = null;
int i =0;
for(i =
0;i < pos;i++
)return cur->next;
}
php實現資料結構 單向鍊錶
什麼是單向鍊錶 鍊錶是以鏈式儲存資料的結構,其不需要連續的儲存空間,鍊錶中的資料以節點來表示,每個節點由元素 儲存資料 和指標 指向後繼節點 組成。單向鍊錶 也叫單鏈表 是鍊錶中最簡單的一種形式,每個節點只包含乙個元素和乙個指標。它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。它的儲存...
資料結構 單向鍊錶(java實現)
public class node 為節點追加節點 當前節點 node currentnode this while true 賦值當前節點 currentnode nextnode 把需要追回的節點追加為找到的節點的下乙個節點 currentnode.next node return this 刪...
php實現資料結構 單向鍊錶
什麼是單向鍊錶 鍊錶是以鏈式儲存資料的結構,其不需要連續的儲存空間,鍊錶中的資料以節點來表示,每個節點由元素 儲存資料 和指標 指向後繼節點 組成。單向鍊錶 也叫單鏈表 是鍊錶中最簡單的一種形式,每個節點只包含乙個元素和乙個指標。它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。它的儲存...