C#一般集合 – 佇列 Queue 類別(FIFO-先進先出) / 堆疊 Stack 類別(先進後出)->(自己利用Stack來完成UI返回前一頁的功能)

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返回前一頁的功能)

  1. 真的三得到公中相子了聲裡還一,並會人爾時小年有。
    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)
    不知所云,應該又是個來亂的,隨便

  2. 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);
    }
    }
    }

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *