C#一般集合 – 佇列 Queue 類別(FIFO-先進先出) / 堆疊 Stack 類別(先進後出)->(自己利用Stack來完成UI返回前一頁的功能)
C#一般集合 – 佇列 Queue 類別(FIFO-先進先出) / 堆疊 Stack 類別(先進後出)->(自己利用Stack來完成UI返回前一頁的功能)
資料來源:https://dotblogs.com.tw/yc421206/archive/2009/01/23/6930.aspx
佇列(Queue)是用先進先出的方式處理物件的集合,例如到銀行排隊,先排的人先處理;而堆疊(Stack )是後進先出的集合,例如玩撲克牌排遊戲時,發牌時是從整疊的最上一張拿取。
佇列(Queue)常用的方法如下
名稱 說明
Count 取得佇列中目前的項目數量
Dequeue 從佇列前端取出一個項目,同時將其移除
Enqueue 從佇列尾端加入一個項目
Peek 從佇列前端取出一個項目,但不移除
堆疊(Stack)常用的方法如下
名稱 說明
Count 取得堆疊中目前的項目數量
Pop 從堆疊最頂端取出一個項目,同時將其移除
Push 從堆疊最頂端加入一個項目
Peek 從堆疊最頂端取出一個項目,但不移除
使用佇列 Queue 類別步驟如下
Queue myQueue = new Queue();//引用Queue類別
myQueue.Enqueue(“加入第一個項目”);//用Enqueue加入佇列
while (myQueue.Count > 0)
{
Console.WriteLine(myQueue.Dequeue());//用Dequeue讀取佇列
}
使用佇列 Stack 類別步驟如下
Stack myStack = new Stack();//引用Stack類別
myStack.Push(“加入第一個項目”);//用Push加入堆疊
while (myStack.Count > 0)
{
Console.WriteLine(myStack.Pop());//用Pop讀取佇列
}
心得:自己利用Stack來完成UI返回前一頁的功能。
private void butLeave_Click(object sender, EventArgs e)
{
while (m_StackTPOld.Count > 0)
{
m_TPOld = ((TabPage)m_StackTPOld.Pop());
if (m_TPOld != null)
{
if (m_tabMain.SelectedTab != m_TPOld)
{
m_tabMain.SelectedTab = m_TPOld;
break;
}
}
}
}
2 thoughts on “C#一般集合 – 佇列 Queue 類別(FIFO-先進先出) / 堆疊 Stack 類別(先進後出)->(自己利用Stack來完成UI返回前一頁的功能)”
真的三得到公中相子了聲裡還一,並會人爾時小年有。
The best fish swim near the bottom. 最好的□魚♀,♂潛□游水◎底♂。☉(~勿鋒芒○畢☆露○。) *◇ John Clark 約翰§‧○克☆拉○克﹉
65國語~言☉翻◎譯◎公司
華♀頓♀數□位翻譯﹍公﹌司~
提供印〇度﹋語口§譯價◇格﹉等服務﹉
電○話﹂: 02:5553-8366
LINE-ID: t77260932
翻﹋譯〇社◎|ksuseo.tw66.com.tw/
版主回覆:(02/23/2017 12:39:09 AM)
不知所云,應該又是個來亂的,隨便
C# Queue 任意塞入不同類型元素
using System;
using System.Collections;
public class GFG {
static public void Main()
{
// Create a queue
// Using Queue class
Queue my_queue = new Queue();
// Adding elements in Queue
// Using Enqueue() method
my_queue.Enqueue( "GFG" );
my_queue.Enqueue(1);
my_queue.Enqueue(100);
my_queue.Enqueue( null );
my_queue.Enqueue(2.4);
my_queue.Enqueue( "Geeks123" );
// Accessing the elements
// of my_queue Queue
// Using foreach loop
foreach ( var ele in my_queue)
{
Console.WriteLine(ele);
}
}
}