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

C#如何實現隊列

編輯:關於C語言

和棧相反,隊列是先進先出的線性表,它只允許在表的一端進行插入,而在另一端刪除元素。在隊列中,允許插入的一端叫做隊尾,允許刪除的一端稱為隊頭。在隊列的實現過程中主要有兩個操作,即入隊和出隊。

(1)入隊就是在隊列的尾部添加數據,隊列數據個數加一,尾指針後移。

(2)出隊就是在隊列的頭部取的數據後,然後刪除該數據,頭指針後移。

具體代碼如下:

/// <summary>
/// 隊列類
/// </summary>
public class CQueue
{
private Clist m_List;
public CQueue()
{
//構造函數
//這裡使用到前面編寫的List
m_List = new Clist();
}
/// <summary>
/// 入隊
/// </summary>
public void EnQueue(int DataValue)
{
//功能:加入隊列,這裡使用List 類的Append 方法:
//尾部添加數據,數據個數加1
m_List.Append(DataValue);
}
/// <summary>
/// 出隊
/// </summary>
public int DeQueue()
{
//功 能:出隊
//返回值: 2147483647 表示為空隊列無返回
int QueValue;
if (!IsNull())
{
//不為空的隊列
//移動到隊列的頭
m_List.MoveFrist();
//取得當前的值
QueValue = m_List.GetCurrentValue();
//刪除出隊的數據
m_List.Delete();
return QueValue;
}
return 2147483647;
}
/// <summary>
/// 判斷隊列是否為空
/// </summary>
public bool IsNull()
{
//功能:判斷是否為空的隊列
return m_List.IsNull();
}
/// <summary>
/// 清空隊列
/// </summary>
public void Clear()
{
//清空鏈表
m_List.Clear();
}
/// <summary>
/// 取得隊列的數據個數
/// </summary>
public int QueueCount
{
get
{
//取得隊列的個數
return m_List.ListCount;
}
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved