最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用Stack<T>進(jìn)行堆棧設(shè)計(jì)的實(shí)現(xiàn)

 更新時(shí)間:2024年03月08日 09:46:34   作者:wenchm  
堆棧代表了一個(gè)后進(jìn)先出的對象集合,當(dāng)您需要對各項(xiàng)進(jìn)行后進(jìn)先出的訪問時(shí),則使用堆棧,本文主要介紹了C#使用Stack<T>類進(jìn)行堆棧設(shè)計(jì)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),感興趣的可以了解一下

一、涉及到的知識點(diǎn)

1.棧定義

棧是一種重要的數(shù)據(jù)結(jié)構(gòu)。從數(shù)據(jù)結(jié)構(gòu)的角度看,棧也是線性表,其特殊性在于棧的基本操作是線性表操作的子集,它們是操作受限的線性表,因此可以稱為限定性的數(shù)據(jù)結(jié)構(gòu)。

棧是限定僅在表尾進(jìn)行插入或刪除操作的線性表。因此對棧來說,表尾端有其特殊含義,稱為“棧頂(top)”,相應(yīng)地,表頭端稱為“棧底(bottom)”,不含元素的空表稱為空棧。棧的修改是按照后進(jìn)先出的原則進(jìn)行的。因此棧又稱為后進(jìn)先出(last in first out)的線性表,在實(shí)現(xiàn)棧的數(shù)據(jù)結(jié)構(gòu)時(shí)一定要注意這個(gè)特點(diǎn)。棧的基本操作除了在棧頂進(jìn)行插入或刪除外,還有棧的初始化,判斷是否為空以及取棧頂元素等。

2.Stack<T>類

C#中的堆棧由System.Collections.Generic命名空間中的Stack類定義。Stack類提供了模擬堆棧的屬性和方法,例如Push(添加元素到堆棧的頂部)、Pop(從堆棧頂部移除元素)和Peek(查看堆棧頂部的元素)。

二、 使用Stack<T>類進(jìn)行堆棧設(shè)計(jì)

要使用Stack類創(chuàng)建堆棧,首先需要使用以下語法創(chuàng)建一個(gè)新的Stack實(shí)例:

1.創(chuàng)建一個(gè)新的Stack<T>實(shí)例

Stack<T> stack = new Stack<T>();
//T是您要在堆棧中存儲的元素的類型.
//例如,如果您要在堆棧中存儲整數(shù),則可以使用以下代碼:
Stack<int> stack = new Stack<int>();

2.然后,可以使用Push方法將元素添加到堆棧中

stack.Push(10);
stack.Push(20);
stack.Push(30);
//這將在堆棧頂部添加三個(gè)整數(shù)10、20和30。

要從堆棧中刪除元素,可以使用Pop方法,它從堆棧頂部刪除一個(gè)元素并將其返回。

3.使用Pop方法從棧頂刪除一個(gè)元素

int item = stack.Pop();
//將從堆棧中刪除最后一個(gè)添加的元素(30)并將其存儲在變量item中。

要查看堆棧頂部的元素而無需刪除它,可以使用Peek方法。

4.使用Peek方法查看堆棧頂部的元素

int item = stack.Peek();
//將返回堆棧頂部的元素(20),但不會將其從堆棧中刪除。

Stack類還提供了其他方法和屬性,例如Count屬性(返回堆棧中元素的數(shù)量)和Clear方法(清除堆棧中的所有元素)。

三、實(shí)例

// 使用C#中的Stack類實(shí)現(xiàn)堆棧
namespace _133_1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);
            // 創(chuàng)建一個(gè)新的整數(shù)堆棧
            Stack<int> stack = new();

            // 將一些元素添加到堆棧中
            stack.Push(10);
            stack.Push(20);
            stack.Push(30);

            // 查看堆棧頂部的元素
            int item2 = stack.Peek();
            Console.WriteLine("堆棧頂部的元素是: " + item2); // 輸出: 堆棧頂部的元素是: 30

            // 獲取堆棧中的元素?cái)?shù)量
            int count = stack.Count;
            Console.WriteLine("堆棧中的元素?cái)?shù)量是: " + count); 

            // 從堆棧中彈出元素并打印它們
            while (stack.Count > 0)
            {
                int item1 = stack.Pop();
                Console.WriteLine(item1);
            }

            // 獲取堆棧中的元素?cái)?shù)量
            count = stack.Count;
            Console.WriteLine("堆棧中的元素?cái)?shù)量是: " + count); 

            stack.Push(40);
            stack.Push(50);
            stack.Push(60);
            // 獲取堆棧中的元素?cái)?shù)量
            count = stack.Count;
            Console.WriteLine("堆棧中的元素?cái)?shù)量是: " + count); 

            // 清除堆棧中的所有元素
            stack.Clear();

            // 查看堆棧是否為空
            if (stack.Count == 0)
            {
                Console.WriteLine("堆棧為空。");
            }
        }
    }
}
//運(yùn)行結(jié)果:
/*
堆棧頂部的元素是: 30
堆棧中的元素?cái)?shù)量是: 3
30
20
10
堆棧中的元素?cái)?shù)量是: 0
堆棧中的元素?cái)?shù)量是: 3
堆棧為空。

 */

到此這篇關(guān)于C#使用Stack<T>類進(jìn)行堆棧設(shè)計(jì)的文章就介紹到這了,更多相關(guān)C# Stack<T>堆棧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • C#將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet

    C#將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet

    這篇文章主要介紹了C#將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet的方法,非常簡單實(shí)用,從本人項(xiàng)目中提取出來的,推薦給大家,希望對大家學(xué)習(xí)C#能夠有所幫助。
    2015-03-03
  • C# 實(shí)現(xiàn)階乘 (遞歸,非遞歸) 實(shí)現(xiàn)代碼

    C# 實(shí)現(xiàn)階乘 (遞歸,非遞歸) 實(shí)現(xiàn)代碼

    C# 實(shí)現(xiàn)階乘 (遞歸,非遞歸) 實(shí)現(xiàn)代碼,需要的朋友可以參考一下
    2013-05-05
  • Socket不能選擇本地IP連接問題如何解決

    Socket不能選擇本地IP連接問題如何解決

    本文將介紹一個(gè)不要手動(dòng),要用程序自動(dòng)實(shí)現(xiàn) ,可以綁定本地的任何IP地址,有需求的朋友可以參考下
    2012-11-11
  • C# out關(guān)鍵詞的應(yīng)用實(shí)例

    C# out關(guān)鍵詞的應(yīng)用實(shí)例

    下面小編就為大家分享一篇C# out關(guān)鍵詞的應(yīng)用實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#使用應(yīng)用RSA和ECC進(jìn)行數(shù)字簽名和簽名驗(yàn)證的示例詳解

    C#使用應(yīng)用RSA和ECC進(jìn)行數(shù)字簽名和簽名驗(yàn)證的示例詳解

    開發(fā)中需要用到數(shù)字簽名和驗(yàn)簽,這篇博客提供使用RSA和ECDSA(橢圓曲線數(shù)字簽名算法,也是橢圓曲線加密的常見應(yīng)用)進(jìn)行數(shù)字簽名和簽名驗(yàn)證的C#程序示例,同時(shí),也會包含密鑰生成和保存的例程,需要的朋友可以參考下
    2025-09-09
  • 利用unity代碼C#封裝為dll的步驟分享

    利用unity代碼C#封裝為dll的步驟分享

    這篇文章主要給大家介紹了關(guān)于利用unity代碼C#封裝為dll的相關(guān)資料,文中通過圖文將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • C# 在PDF中創(chuàng)建和填充域

    C# 在PDF中創(chuàng)建和填充域

    本文主要介紹了C# 在PDF中創(chuàng)建和填充域的相關(guān)知識。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-03-03
  • C# 打開藍(lán)牙設(shè)置界面的兩種方法

    C# 打開藍(lán)牙設(shè)置界面的兩種方法

    這篇文章主要介紹了C# 打開藍(lán)牙設(shè)置界面的兩種方法,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#簡單連接sql數(shù)據(jù)庫的方法

    C#簡單連接sql數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#簡單連接sql數(shù)據(jù)庫的方法,涉及C#基于控制臺的數(shù)據(jù)庫連接創(chuàng)建于命令執(zhí)行相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • C#利用ZXing.Net生成條形碼和二維碼

    C#利用ZXing.Net生成條形碼和二維碼

    這篇文章主要為大家詳細(xì)介紹了C#利用ZXing.Net生成條形碼和二維碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評論

久治县| 稷山县| 田林县| 公主岭市| 西贡区| 驻马店市| 峨眉山市| 库车县| 常州市| 太谷县| 新沂市| 瓦房店市| 大庆市| 于都县| 阳西县| 中江县| 滁州市| 缙云县| 桃园市| 昌吉市| 丽水市| 文山县| 黑龙江省| 民乐县| 渝中区| 信丰县| 凤山县| 崇仁县| 湟源县| 宿州市| 东兰县| 手游| 徐水县| 和田县| 尉氏县| 中西区| 绥宁县| 新田县| 辽宁省| 彝良县| 丰顺县|