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

C#單向鏈表基礎操作(三):指針移動與狀態判斷方法

     編輯:關於C語言

核心導航方法

鏈表遍歷依賴當前指針Current的移動,四大基礎操作:

/// 向後移動一個節點
public void MoveNext()
{
    if (!IsEOF()) Current = Current.Next;
}

/// 向前移動一個節點
public void MovePrevious()
{
    if (!IsBOF()) Current = Current.Previous;
}

/// 移動到第一個節點
public void MoveFirst() => Current = Head;

/// 移動到最後一個節點
public void MoveLast() => Current = Tail;

邊界判斷方法

/// 判斷鏈表是否為空
public bool IsNull() => ListCountValue == 0;

/// 判斷是否在頭部
public bool IsBOF() => Current == Head;

/// 判斷是否在尾部
public bool IsEOF() => Current == Tail;

設計要點

  • 安全性:所有移動操作均含邊界檢查,防止NullReferenceException。
  • 雙向性:MovePrevious依賴Previous指針,確認此為雙向鏈表實現。
  • 狀態封裝:Head/Tail/Current為私有字段,對外僅暴露行為方法。
  • 計數維護:ListCountValue隨增刪操作同步更新,IsNull以此為依據。

這組方法構成鏈表遍歷的基礎 API,上層邏輯(查找、插入、刪除、排序)均建立於此。

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