單鏈表 使用C Sharp建立單鏈表

2021-10-02 03:00:30 字數 2306 閱讀 7669

單鏈表及其節點

鍊錶是一系列的儲存資料元素的單元通過指標串接起來形成的,因此每個單元至少有兩個域,

乙個域用於資料元素的儲存,另乙個域是指向其他單元的指標。

這裡具有乙個資料域和多個指標域的儲存單元通常稱為 結點(node)

鍊錶的第乙個結點和最後乙個結點,分別稱為鍊錶的 首結點和 尾結點。

尾結點的特徵是其 next 引用為空(null)。

鍊錶中每個結點的 next 引用都相當於乙個指標,指向另乙個結點,

借助這些 next 引用,我們可以從鍊錶的首結點移動到尾結點。

在單鏈表中通常使用 head 引用來指向鍊錶的首結點,由 head 引用可以完成對整個鍊錶中所有節點的訪問。

單鏈表的乙個重要特性就是只能通過前驅結點找到後續結點,而無法從後續結點找到前驅結點。

**實現

實現介面

namespace _001_線性表

//索引器

tgetele

(int index)

;//根據索引得到元素

intlocate

(t item)

;//根據元素得到索引

}}

實現節點

namespace _001_線性表.單鏈表

public

node(t

value

)public

node

(node next)

public

node(t

value

, node next)

public

t data

internal node next

}}

實現單鏈表

namespace _001_線性表.單鏈表

public

tthis

[int index]

return temp.data;}}

public

void

add(

t item)

//頭結點不為空,新增到鍊錶的尾部,把尾部的指標,指向當前新建立的節點

else

else

} temp.next = newnode;

//新節點放到鍊錶的尾部}}

public

void

clear()

public

tdelete

(int index)

else

node prenode = temp;

//前乙個節點

node cutnode = temp.next;

//當前需要插入的節點

data = cutnode.data;

node nextnode = temp.next.next;

//刪除節點的後乙個節點

prenode.next = nextnode;

//前乙個節點指向刪除節點後的乙個節點

}return data;

}public

tgetele

(int index)

public

intgetlength()

node temp = head;

int count =1;

while

(true

)else

}return count;

}public

void

insert

(t item,

int index)

else

node prenode = temp;

//前乙個節點

node cutnode = temp.next;

//當前需要插入的節點

prenode.next = newnode;

//前節點的指標指向新節點

newnode.next = cutnode;

//新節點的指標指向當前的節點,即 當前的節點向後移動}}

public

bool

isempty()

public

intlocate

(t item)

else

else

else}}

return-1

;}}}

}

建立單鏈表

一 單鏈表的建立 有了動態記憶體分配的基礎,要實現鍊錶就不難了。所謂鍊錶,就是用一組任意的儲存單元儲存線性表元素的一種資料結構。鍊錶又分為單鏈表 雙向鍊錶和迴圈鍊錶等。我們先講講單鏈表。所謂單鏈表,是指資料接點是單向排列的。乙個單鏈表結點,其結構型別分為兩部分 1 資料域 用來儲存本身資料 2 鏈域...

建立線性單鏈表,並將單鏈表翻轉

package 資料結構 public class lianbiao public lianbiao 首先建立單鏈表的結點類。package 資料結構 鍊錶反轉 class lianbiao2 extends lianbiao1 public lianbiao2 int n public void ...

單鏈表的建立與使用

include include define ok 1 define error 0 define true 1 define false 0 typedef int status typedef int elemtype typedef struct lnodelnode,linklist 定義結...