鍊錶是一種基礎資料結構,它是集合類的抽象資料結構型別中表示資料的合適型別。與數字結構不同之處在於,在鍊錶中插入元素和刪除元素都更加方便。
定義:鍊錶表示的一列元素,由一系列的節點(node)構成,是一種遞迴資料結構。節點是乙個能夠包含任何型別資料的抽象實體,它所包含的指向節點的應用體現了他在鍊錶中的作用。
構造:
privateclass
node
}
上面的是單向鍊錶,優點是簡單高效,但任意刪除和增加節點並不方便。這種情況下,就可以使用雙向鍊錶等資料結構了。今天我給大家演示的主要是使用單向鍊錶實現棧和佇列這兩種資料結構。
應用:1.實現一種泛型棧資料結構
實現**如下:
class nodestack:ienumerablepublic
intsize()
public
void
push(t item)
public
t pop()
private
class
node
}public
ienumerator getenumerator()
first =oldfirst;
}}
2.實現一種泛型佇列
基於鍊錶資料結構實現佇列(queue)也很簡單,根據其先進先出特性,設計時,例項變數first指向它的表頭,例項變數last指向它的尾節點。enqueue()方法將乙個元素新增到表尾,dequeu()方法返回並刪除表頭。
實現**如下:
class nodequeue:ienumerablepublic
intsize()
public
void
enqueue(t item)
public
t dequeue()
private
class
node
}public
ienumerator getenumerator()
first =oldfirst;
}}
總結:
資料結構(2)鍊錶的應用
鍊錶是一種基礎資料結構,它是集合類的抽象資料結構型別中表示資料的合適型別。與數字結構不同之處在於,在鍊錶中插入元素和刪除元素都更加方便。定義 鍊錶表示的一列元素,由一系列的節點 node 構成,是一種遞迴資料結構。節點是乙個能夠包含任何型別資料的抽象實體,它所包含的指向節點的應用體現了他在鍊錶中的作...
資料結構 鍊錶應用
鍊錶應用 pragma warning disable 4996 include includetypedef struct data typedef struct nodechainlisttype void chainlistall chainlisttype head 顯示所有節點 chain...
資料結構 2 鍊錶
填補那些模稜兩可的後知後覺 public class linkedlist public node e e public node override public string tostring private node dummyhead 虛擬頭節點 private int size 元素個數 p...