我們一般只是學過c/c++的資料結構,想必學c#的學生會疑惑,為什麼c#沒有資料結構呢,那我來告訴你,其實c#也是有資料結構的,只不過我們不了解罷了,經過我半天的程式設計,終於把c#的資料結構寫出來了,也大大增加了我對資料結構的理解,在這裡提供出來,共享學習,共同進步!
using system;
using system.collections.generic;
using system.linq;
using system.text;
///
/// 前乙個節點
///
public listnode previous;
///
/// 後乙個節點
///
public listnode next;
///
/// 值
///
/// 初始化的字串,並以逗號或者空格隔開
///
/// 頭指標
///
private listnode head;
///
/// 尾指標
///
private listnode tail;
///
/// 當前指標
///
private listnode current;
///
/// 鍊錶資料的個數
///
private int listcountvalue;
///
/// 尾部新增資料
///
/// 值
if (isnull())
//如果頭指標為空
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()
///
/// 判斷是否為空鍊錶
///
/// 返回bool值
public bool isnull()
///
/// 判斷是否為到達尾
///
///
public bool iseof()
///
/// 判斷是否為到達頭部
///
///
public bool isbof()
///
/// 獲取當前資料
///
/// 返回當前節點的值
public int getcurrentvalue()
///
/// 取得鍊錶的資料個數
///
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;
}///
/// 進行公升序插入
///
///
///
/// 列印鍊錶中全部的數
///
/// 鍊錶引數
如有不當之處,請指正!qq:1830916711
資料結構 鍊錶操作
include include include include typedef int datatype typedef struct slistnode slistnode slistnode creatnewnode datatype data 申請空間存放新鍊錶 void slistnodep...
資料結構 C 版 鍊錶
大家如果有什麼問題,可以給我發email warensoft foxmail.com 下面是c 版鍊錶的實現過程 分為兩個類 1.csarraylistnode 類,用於表示乙個結點 2.csarraylist,用於表示鍊錶本身 下面是這兩個類的檢視 大家可以根據檢視得到這兩個類的基本結構 中有詳細...
資料結構 C 版 鍊錶
原文 http blog.csdn.net warensoft archive 2007 10 16 1827279.aspx 下面是c 版鍊錶的實現過程 分為兩個類 1.csarraylistnode 類,用於表示乙個結點 2.csarraylist,用於表示鍊錶本身 下面是這兩個類的檢視 大家可...