首先定義結點型別,定義了,前乙個指標域,後乙個指標域,如下
using system;
namespace list
前乙個public listnode previous;
後乙個public listnode next;
值public int value;}}
using system;
namespace list
頭指標private listnode head;
尾指標
private listnode tail;
當前指標
private listnode current;
鍊錶資料的個數
private int listcountvalue;
//如果頭指標為空
else
current=newnode;
//鍊錶資料個數加一
listcountvalue+=1;
}刪除當前的資料
public void delete()
//若刪除尾
if (iseof())
//若刪除中間資料
current.previous.next =current.next ;
current=current.previous ;
listcountvalue-=1;
return;}}
/// 向後移動乙個資料
public void movenext()
/// 向前移動乙個資料
public void moveprevious()
/// 移動到第乙個資料
public void movefrist()
/// 移動到最後乙個資料
public void movelast()
/// 判斷是否為空鍊錶
public bool isnull()
/// 判斷是否為到達尾
public bool iseof()
/// 判斷是否為到達頭部
public bool isbof()
/// 取得鍊錶的資料個數
public int listcount
}/// 清空鍊錶
public void clear()
}if (isbof())
//中間插入
newnode.next =current;
newnode.previous =current.previous ;
current.previous.next =newnode;
current.previous =newnode;
current=newnode;
listcountvalue+=1;
}//移動到下乙個指標
movenext(); }}}
}好了,乙個簡單的鍊錶類實現了,當然還有許多的功能,可以根據自己的需要新增就好了。to be continue 。
資料結構 鍊錶篇
鍊錶的優點 插入和刪除速度快 記憶體利用率高 可以隨時擴充套件,不必擔心儲存滿 鍊錶的缺點 不能隨機查詢,只能通過從頭乙個乙個找,查詢效率低 實現如下 include include typedef struct node node 函式宣告 node head create list 頭插法建立鍊...
C語言資料結構之鍊表篇
線性表的定義 定義n個資料元素的有限序列,記作 a1,a2,an ai 是表中資料元素,n 是表長度 線性表的特點 1.除第乙個元素外,其他每乙個元素有乙個且僅有乙個直接前驅。2.除最後乙個元素外其他每乙個元素有乙個且僅有乙個直接後繼。順序表的定義和特點 定義將線性表中的元素相繼存放在乙個連續的儲存...
資料結構 鍊錶(C )
typedef int rank define listnodeposi t listnode template class listnode listnode t e,listnodeposi t p null,listnodeposi t s null data e prenode p back...