c 實現線性表(二)(鍊錶(Linklist))

2021-10-07 09:04:59 字數 2753 閱讀 7919

** 你好! 本篇文章將用c#向你講述乙個完整的順序表**

網上有很多關於c/c++關於線性表的內容,但c#的卻很少,因為c#有自己的list,裡面已經封裝好了,下面我將用我自己寫的**建立乙個自己的mylist

上乙個部落格說了線性表中的順序表,這次我們繼續鍊錶

上個部落格的傳送門:

這次的內容更加的完整

裡面的item代表要儲存的內容

next代表下乙個要連線的節點

然後分別宣告屬性

並且提供3個過載的建構函式(作用往下看)

(一)宣告乙個linklist(鍊錶)類

first為頭節點

建構函式是為了當我們new的時候初始化頭節點為空用的

1.獲得鍊錶的長度

2.新增元素

3.清空鍊錶

4.插入元素(重要)

基本上所有的方法都大同小異,知道插入元素的方法後就可以嘗試著寫出剩下的方法了

5.得到或者修改鍊錶的元素

6.兩種移除元素的方法(根據索引,根據內容)

;//new乙個要插入的節點,尾相接

m.next = mynode;

//首相接

return;}

throw

newexception

("index不在範圍內");

}public

void

remove

(t item)

while

(!item.

equals

(node.item))}

m.next = node.next;

}public

void

removeat

(int index)

m.next = node.next;

return;}

throw

newexception

("index超出範圍");}}}

線性表 鍊錶(二)

一,單鏈表的插入 1 單鏈表如何插入乙個新元素呢?在單鏈表中 有序對 圖例 注意 在單鏈表中插入只需要修改指標。若要在第 i 個結點之前插入元素,修改的是是第 i 1 個結點的指標。2 單鏈表的插入元素的 怎麼寫呢?如下 status listinsert linklist l,int i elem...

線性表 鍊錶(二)

單迴圈鍊錶 由上一節的單向鍊錶可知,如果我們想要遍歷鍊錶中的所有元素必須要知道鍊錶的頭結點,通過頭結點開始順著指標鏈依次訪問每個結點,知道最後乙個結點,因此訪問的方式受到了一定的限制,假設我們知道的是鍊錶中的任意乙個結點,那麼,要想訪問單鏈表的所有結點我們該怎麼辦呢?所以我們要引入一種新的鍊錶形式來...

線性表(二) 鍊錶

線性表的鏈式儲存結構生成的表,稱作 鍊錶 鍊錶分為單向鍊錶和雙向鍊錶。單鏈表 singly linked list 是用一組任意的儲存單元存放的線性表元素,這組儲存單元可以連續也可以不連續,甚至可以零散分布在記憶體中的任意位置。為了能夠體現出資料元素之間的邏輯關係,每個儲存單元在在儲存資料元素的同時...