#include
#include
typedef int linktype;
typedef struct linknodelinklist;
//鍊錶初始化
void linklistinit(linklist **head)
//鍊錶尾部插入
void linklistpushback(linklist **head, linktype valve)
else
}//刪除鍊錶尾部元素
void linklistpopback(linknode** head)
else
}//列印鍊錶
void print(linklist *head)
}//煉表頭插
void linklistpushfront(linknode** head, linktype value)
else
}//煉表頭刪
void linklistpopfront(linknode** head)
else
}//查詢元素在鍊錶中的位置 ,返回這個值對應的節點位址
linknode* linklistfind(linknode* head, linktype to_find)
}return null;
}//在指定pos節點的前面插入新節點
void linklistinsertfront(linknode** head, linknode* pos, linktype value)
else //如果pos不是頭結點
else //沒有找到pos
}}void linklistinsertafter(linknode** head, linknode* pos, linktype value)
else
}}void linklisterase(linknode** head, linknode* pos)
else
return;
}else
else
return;}}
}void linklistremove(linknode** head, linktype to_delete)
else
}else
else
return;
}}int linklistempty(linknode* head)
int main()
C 單鏈表的基本演算法
線性表是最簡單,最常用的一種資料結構。線性表的邏輯結構是n個資料元素的有限序列 a1,a2,an 而線性表的物理結構,我們已經學習過順序表,也就是陣列 另一種線性表的物理結構 鍊錶 單鏈表 singly linked list 也稱線性鍊錶。每個元素占用乙個節點 node 乙個節點至少包含兩個域,乙...
單鏈表各種基本運算的演算法
include includetypedef char elemtype typedef struct lnode linknode 宣告單鏈表節點型別 void createlistf linknode l,elemtype a,int n 頭插法建立單鏈表 void createlistr li...
單鏈表演算法
遍歷 就是把單鏈表中的各個節點挨個拿出來,就叫遍歷 遍歷要點 不能遺漏,不能重複,追求效率 方法 從頭指標 頭節點 順著鍊錶掛接指標依次訪問鍊錶的各個節點,取出這個節點的資料,然後再往下乙個節點,知道最後乙個節點,結束返回 include include include 構建乙個鍊錶的節點 stru...