程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#如何實現單向鏈表(1)

C#如何實現單向鏈表(1)

編輯:關於C語言

鏈表是一種重要的數據結構,該結構由節點組成。每個節點包含兩部分數據,第一部分是節點本身的數據,第二部分是指向下一個節點的指針。對於單向鏈表,鏈表中存在兩個特殊的節點,分別為“頭節點”和“尾節點”。頭節點本身沒有數據,只存儲下一個節點的指針,尾節點只存儲數據。結點的定義及對線性表的操作如下:

首先,定義一個結點類用於對結點的描述。其中,私有成員Value用於儲存節點本身的數據,Next用於存儲下一個節點的指針,Previous用於存儲上一個節點的指針。對於鏈表的操作,無非是進行節點的查找、插入和刪除操作。代碼如下:

//  結點類
public class ListNode
{
public ListNode(int NewValue)//,int NewCurrent)
{
Value = NewValue;
//Current = NewCurrent;
}
//前一個
public ListNode Previous;
// 後一個
public ListNode Next;
// 值
public int Value;
////指針
//public int Current;
}

然後定義了一個Clist類,主要對線性表基本操作的編程。其中包括,Head、Tail、Current三個指針和Append、MoveFrist、MovePrevious、MoveNext、MoveLast、Delete、InsertAscending、InsertUnAscending、Clear、 GetCurrentValue方法,用於實現移動、添加、刪除、升序插入、降序插入、清空鏈表、取得當前的值等操作。代碼如下:

// 定義結點之後,開始類線性表的操作編程了.在ClIST 類中,采用了,Head ,Tail,  Current,三個指針,使用Append ,MoveFrist,MovePrevious,MoveNext, MoveLast , Delete, InsertAscending, InsertUnAscending, Clear 實現移動,添加、刪除,升序插入,降序插入,清空鏈表操作,GetCurrentValue() 方法取得當前的值。
public class Clist
{
/// <summary>
/// 初始化線性表
/// </summary>
public Clist()
{
//構造函數
//初始化
ListCountValue = 0;
Head = null;
Tail = null;
}
// 頭指針
private ListNode Head;
// 尾指針
private ListNode Tail;
// 當前指針
private ListNode Current;
//鏈表數據的個數
private int ListCountValue;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved