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

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

編輯:關於C語言

在當前位置前插入結點的代碼如下:

// 在當前位置前插入數據
/// <summary>
/// 在當前位置前插入數據
/// </summary>
/// <param name="DataValue"></param>
public void Insert(int DataValue)
{
ListNode NewNode = new ListNode(DataValue);
if (IsNull())
{
//為空表,則添加
Append(DataValue);
return;
}

if (IsBof())
{
//為頭部插入
NewNode.Next = Head;
Head.Previous = NewNode;
Head = NewNode;
Current = Head;
ListCountValue += 1;
return;
}
//中間插入
NewNode.Next = Current;
NewNode.Previous = Current.Previous;
Current.Previous.Next = NewNode;
Current.Previous = NewNode;
Current = NewNode;
ListCountValue += 1;
}

進行升序插入的代碼如下:

// 進行升序插入
/// <summary>
/// 進行升序插入
/// </summary>
/// <param name="InsertValue"></param>
public void InsertAscending(int InsertValue)
{
//參數:InsertValue 插入的數據
//為空鏈表
if (IsNull())
{
//添加
Append(InsertValue);
return;
}
//移動到頭
MoveFrist();
if ((InsertValue < GetCurrentValue()))
{
//滿足條件,則插入,退出
Insert(InsertValue);
return;
}
while (true)
{
if (InsertValue < GetCurrentValue())
{
//滿族條件,則插入,退出
Insert(InsertValue);
break;
}
if (ISEOf())
{
//尾部添加
Append(InsertValue);
break;
}
//移動到下一個指針
MoveNext();
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved