C語言單鏈表

2021-10-03 16:11:45 字數 1615 閱讀 8221

鍊錶是通過一組任意的儲存單元來儲存線性表中的資料元素

定義節點如下:(語言是標準c語言)

#include #include #define error -1;//錯誤

#define true 0;//正確

typedef struct nodelnode,*linklist;
建立單鏈表(頭插法),時間複雜度:o(n)

/**

* 頭插法

*/linklist create_linklist1()

return h;

}

建立單鏈表(尾插法),時間複雜度:o(n)

/**

* 尾插法

*/linklist create_linklist2()

return h;

}

求表長,時間複雜度o(n)

/**

* 求表長

*/int length_linklist(linklist h)

return j;

}

查詢操作(按序號查詢),時間複雜度:o(n)

/**

* 查詢操作,按序號查詢

*/linklist get_linklist(linklist h,int k)

if(j==k)else

}

查詢操作(按值查詢),時間複雜度:o(n)

/**

* 查詢操作,按值x查詢

*/lnode *locate_linklist(linklist h,int x)

return p;

}

單鏈表的插入操作,插入第i個位置,時間複雜度:o(n)

/**

* 插入操作 時間複雜度 o(n)

*/int insert_linklist(linklist h,int i,int x)else

}

單鏈表的刪除操作,時間複雜度o(n)

/**

* 刪除節點 刪除第i個節點

*/int del_linklist(linklist h,int i)else

}

單鏈表的倒置,時間複雜度o(n)思路:依次取出原煉表中的每個節點,將其作為第乙個節點插入新煉表中,指標p用來指向當前節點,p為空時結束

/**

* 單鏈表的倒置

*/void reverse(linklist h)

}

如果大家還有點想不來倒置,***有個**釋了怎麼倒置

看的順序:黑色字型->紅色字型->綠色字型

C語言單鏈表

include include include define error 0 typedef struct lnode lnode,linklist linklist initlist linklist l node next null l node return l int listlength ...

c語言 單鏈表

單鏈表,顧名思義是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。我們在這裡使用c語言實現 h 檔案 pragma on...

C語言單鏈表

學過線性表中的順序表的都知道,順序表裡的資料在物理記憶體上是相鄰的,所以當我們在順序表中想要訪問下乙個元素時可以直接去訪問,就像陣列一樣。但是單鏈表卻不同,單鏈表的資料儲存的位置是動態分配的,也就是說單鏈表的儲存在物理記憶體上不是相鄰的,所以我們就只能通過指標這種方式來把單鏈表串起來,通過指標來訪問...