首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C#單向鏈表入門(一):節點定義與鏈表類基礎架構

     編輯:關於C語言

鏈表基礎概念

鏈表由節點組成,每個節點包含數據域與指針域。單向鏈表中兩個特殊節點:

  • 頭節點:不存儲數據,僅指向首個數據節點。
  • 尾節點:存儲數據,Next指向null。

節點類定義

/// 鏈表節點
public class ListNode
{
    public ListNode(int value) => Value = value;
    
    public ListNode Previous; // 前驅節點(雙向鏈表特有)
    public ListNode Next;     // 後繼節點
    public int Value;         // 數據域
}

注意:包含Previous指針,實為雙向鏈表節點結構。

鏈表管理類 Clist

public class Clist
{
    public Clist()
    {
        ListCountValue = 0;
        Head = null;
        Tail = null;
    }
    
    private ListNode Head;       // 頭指針
    private ListNode Tail;       // 尾指針
    private ListNode Current;    // 當前指針
    private int ListCountValue;  // 節點計數
    
    // 核心操作方法聲明
    public void Append(int value) { /* ... */ }
    public void MoveFirst() { /* ... */ }
    public void MovePrevious() { /* ... */ }
    public void MoveNext() { /* ... */ }
    public void MoveLast() { /* ... */ }
    public void Delete() { /* ... */ }
    public void InsertAscending(int value) { /* ... */ }
    public void InsertUnAscending(int value) { /* ... */ }
    public void Clear() { /* ... */ }
    public int GetCurrentValue() { /* ... */ }
}

架構特點

  • 三指針設計:Head/Tail/Current支援首尾快速訪問與游標式遍歷。
  • 封裝性:內部節點結構對外隱藏,僅暴露行為方法。
  • 擴展性:預留有序插入(升序/降序)接口,便於構建有序容器。
  • 計數維護:ListCountValue實時反映節點數,支援IsNull等判斷。

此為後續所有操作(移動、插入、刪除、排序)的基礎架構。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved