鍊錶是通過一組任意的儲存單元來儲存線性表中的資料元素
定義節點如下:(語言是標準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語言單鏈表
學過線性表中的順序表的都知道,順序表裡的資料在物理記憶體上是相鄰的,所以當我們在順序表中想要訪問下乙個元素時可以直接去訪問,就像陣列一樣。但是單鏈表卻不同,單鏈表的資料儲存的位置是動態分配的,也就是說單鏈表的儲存在物理記憶體上不是相鄰的,所以我們就只能通過指標這種方式來把單鏈表串起來,通過指標來訪問...