1. 程式人生 > >佇列Queue 先進先出 棧Stack 先進後出

佇列Queue 先進先出 棧Stack 先進後出

1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //佇列的特點就是先進先出
            Queue<string> queue = new Queue<string>();
            queue.Enqueue("張三");   //入隊  將物件新增到 System.Collections.Generic.Queue<T> 的結尾處。
            queue.Enqueue("李四");
            queue.Enqueue("王五");

            int queueCount = queue.Count(); //返回序列中元素的數量

            string name = queue.Dequeue(); //出隊 把隊首的元素移除,並將這移除的元素返回。
            Console.WriteLine(name); //輸出“張三” 

            name = queue.Dequeue(); //因為“張三”已經被移除了。所以現在是“李四”是在隊首了
            Console.WriteLine(name); //輸出“李四”

            name = queue.Dequeue(); //因為“李四”也被移除了,所以佇列中就只剩下王五了。
            Console.WriteLine(name); //輸出“王五”

           
            //------------------------------------------------------------

            //棧的特點就是先進後出(瞭解下就可以了,用的不多)
            Stack<string> stack = new Stack<string>();
            stack.Push("張三"); //入棧, 將物件插入 System.Collections.Generic.Stack<T> 的頂部。
            stack.Push("李四"); 
            stack.Push("王五");

            int stackCount= stack.Count(); //返回棧中的數量
            string name1 = stack.Pop(); //出棧。把棧首的元素移除,並將移除的元素返回。
            Console.WriteLine(name); //輸出:“王五”

            name1 = stack.Pop();
            Console.WriteLine(name1);//輸出:“李四”

            
            name1 = stack.Pop();
            Console.WriteLine(name1);//輸出:“張三”

            
            //name1 = stack.Peek(); //這是返回棧首的物件,但是不將它移除
            Console.ReadKey();

        }
    }
}


相關推薦

佇列Queue 先進 Stack 先進

1 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System

一個入序列和一個序列,判斷序列是否是入序列對應的序列

注意:在入棧的過程中,並不是所有元素都入棧了之後才出棧,也可能是入棧幾個元素,出棧一個或多個,然後再繼續入棧,入棧序列只能保證所有元素按規定順序入棧。 思路:利用一個輔助棧和一個指向出棧序列第一個元素的下標(int count = 0;),利用一個迴圈在遍歷入棧序列入棧的同

啊哈演算法第二章 佇列(一) 先進—隊 先進

小哈的QQ號  我的實現方法 #include <stdio.h> int data1[100]; void cleandata(int data[],int n); int main(){     int data1[100]={9,8,7,6,5

佇列Queue):“先進”的資料結構

佇列是線性表的一種,在操作資料元素時,和棧一樣,有自己的規則:使用佇列存取資料元素時,資料元素只能從表的一端進入佇列,另一端出佇列,如圖1。 圖1 佇列示意圖 稱進入佇列的一端為“隊尾”;出佇列的一端為“隊頭”。資料元素全部由隊尾陸續進佇列,由隊頭陸續出佇列。 佇列的先進先出原則 佇列從一端存入資料

實現佇列先進結構

** * By returnZhang * 兩個佇列組成棧 * stackIn 壓入資料 * stackOut 反轉資料 */ public class StackToList { Stack<Integer> stackIn;//資料

佇列的區別,以及如何區分是先進還是先進

棧的概念:是彈壓,就像子彈殼裝彈,一粒一粒壓進去,但是打出來的時候是從上面打出來的,最先壓進去的最後彈出來,如果進去順序是123,打出來順序是321,這就是後進先出佇列的概念:就是我們平時排隊,按次序

java實現自定義佇列先進

題目:java實現自定義佇列(先進先出) 主類: import java.util.LinkedList; public class Main { public static void main(String[] args) { DuiLie dl

資料結構與演算法學習筆記之先進佇列

前言   佇列是一種非常實用的資料結構,類似於生活中發排隊,可應用於生活,開發中各個方面,比如共享印表機(先請求先列印),訊息佇列。你想知道他們是怎麼工作的麼。那就來一起學習一下佇列吧 正文 一、佇列的定義? 1.一種先進先出的線性表 2.只允許入棧 push()和出棧 pop() 在後端(稱

熱點訪問篩選過濾-LinkedHashMap佇列 先進的原理 實現

熱點訪問篩選過濾LinkedHashMap佇列 先進先出的原理 實現 繼承LinkedHashMap往佇列放值,依據先進先出原理,熱點內容往裡放,擠出非熱點內容,最終篩選出熱點內容

java佇列--先進(迴圈佇列、鏈佇列

佇列: 只允許在一端進行插入操作(隊尾),在另一端進行刪除操作(隊頭)。 佇列的特徵就是: 先進先出。 佇列的思想及實現也同樣非常簡單。在生活中的各種常常都需要排隊進行,鍵盤中快取區、作業系統中的作業排程等都有用到佇列先進先出的思想。在這裡同樣用一個示意圖展示佇列的基本思想

搜尋_先進佇列BFS_康託展開HDOJ1043_Eight

點此開啟題目頁面 Problem Description The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it

spring+mybatsi FIFO(先進)佇列,解決併發問題

業務場景:最近負責公司的“郵件系統”的研發工作,公司其他的業務系統都需要呼叫“郵件服務介面”,導致該郵件服務介面,併發量比較大。 解決思路: 1、web 初始化時,同時需要初始化系統全域性的FIFO佇列。 2、java FIFO佇列的選擇,必須是執行緒安全佇列,我這裡使用

佇列(FIFO)先進

首先引用《啊哈演算法》中的一個題,背景就不說了。大體意思就是輸入一串數字首先將第一個數字刪除,然後將第二個數放在末尾。依次迴圈,最後按照刪除的順序,把這些數連起來。 這裡然後引入佇列這個概念,佇列是一種特殊的線性結構,只允許在佇列的首部進行刪除操作->出隊,而在尾部進

佇列 先進,先進,優先順序佇列

import queue #先進先出 q = queue.Queue(3)#設定佇列容量 q.put(1) q.put(a) print('檢視當前佇列的容量',q.qsize) q.put(b) print('檢視當前容器是否滿了',q.full())#滿了返回TRUE 沒滿返回flase

演算法——先進佇列

public class Queue<Item> implements Iterable<Item> { private Node first; private Node last; private int N;

佇列和堆疊 --- 先進先進

private static void queue()//  佇列{Queue<String> queue  = new LinkedList<>();queue.offer("Hello");queue.offer("world");queue.o

Flash As3.0 實現佇列先進

聊天系統中,我們會使用Array來儲存聊天資訊。但如果Array不限制大小,無限儲存,對於使用者的系統是個非常大的壓力。這時我們就需要一個有固定大小的佇列,將超過10條/50條的資料刪除,保留新的資料。 package {       impo

堆是先進先進

(2012-03-01 10:16:59)轉載▼ 1. 棧(stack)與堆(heap)都是Java用來在Ram中存放資料的地方。與C++不同,Java自動管理棧和堆,程式設計師不能直接地設定棧或堆。 2. 棧的優勢是,存取速度比堆要快,僅次於直接位於CPU中的暫存器。但缺

請實現一個佇列,既可以存放整數,又可以存放字串。簡單的說,佇列是一種資料結構,按照先進的順序管理進、佇列的元素

請實現一個佇列,既可以存放整數,又可以存放字串。簡單的說,佇列是一種資料結構,按照先進先出的順序管理進、出佇列的元素。本題要求完成:   (1) 實現描述佇列的類Queue,其中定義了佇列的大小Size(即佇列中可以存放的元素個數),幷包括進佇列函式Add,出佇列函式De

PHP使用數組實現隊列(實際就是先進怎樣實現)

建設 堆棧 spa pop copy popu 第一個元素 復制代碼 ng- PHP的數組處理函數還能夠將數組實現隊列,堆棧是“先進後出”。在堆棧中,最後壓入的數據(進棧),將會被最先彈出(出棧)。而隊列是先進先出。就如同銀行的排號機 PHP中將數組當做一