亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#使用Stack類進(jìn)行堆棧設(shè)計詳解

 更新時間:2024年03月07日 08:38:58   作者:wenchm  
C#中的堆棧由System.Collections.Generic命名空間中的Stack類定義,那么下面就跟隨小編一起學(xué)習(xí)一下C#如何Stack類進(jìn)行堆棧設(shè)計吧

一、涉及到的知識點

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)的線性表,在實現(xiàn)棧的數(shù)據(jù)結(jié)構(gòu)時一定要注意這個特點。棧的基本操作除了在棧頂進(jìn)行插入或刪除外,還有棧的初始化,判斷是否為空以及取棧頂元素等。

2.Stack類

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

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

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

1.創(chuàng)建一個新的Stack實例

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);
//這將在堆棧頂部添加三個整數(shù)10、20和30。

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

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

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

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

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

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

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

三、實例

// 使用C#中的Stack類實現(xiàn)堆棧
namespace _133_1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);
            // 創(chuàng)建一個新的整數(shù)堆棧
            Stack<int> stack = new();
 
            // 將一些元素添加到堆棧中
            stack.Push(10);
            stack.Push(20);
            stack.Push(30);
 
            // 查看堆棧頂部的元素
            int item2 = stack.Peek();
            Console.WriteLine("堆棧頂部的元素是: " + item2); // 輸出: 堆棧頂部的元素是: 30
 
            // 獲取堆棧中的元素數(shù)量
            int count = stack.Count;
            Console.WriteLine("堆棧中的元素數(shù)量是: " + count); 
 
            // 從堆棧中彈出元素并打印它們
            while (stack.Count > 0)
            {
                int item1 = stack.Pop();
                Console.WriteLine(item1);
            }
 
            // 獲取堆棧中的元素數(shù)量
            count = stack.Count;
            Console.WriteLine("堆棧中的元素數(shù)量是: " + count); 
 
            stack.Push(40);
            stack.Push(50);
            stack.Push(60);
            // 獲取堆棧中的元素數(shù)量
            count = stack.Count;
            Console.WriteLine("堆棧中的元素數(shù)量是: " + count); 
 
            // 清除堆棧中的所有元素
            stack.Clear();
 
            // 查看堆棧是否為空
            if (stack.Count == 0)
            {
                Console.WriteLine("堆棧為空。");
            }
        }
    }
}

運行結(jié)果:

堆棧頂部的元素是: 30
堆棧中的元素數(shù)量是: 3
30
20
10
堆棧中的元素數(shù)量是: 0
堆棧中的元素數(shù)量是: 3
堆棧為空。

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

相關(guān)文章

  • C#實現(xiàn)十五子游戲

    C#實現(xiàn)十五子游戲

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)十五子游戲的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • PropertyGrid自定義控件使用詳解

    PropertyGrid自定義控件使用詳解

    這篇文章主要為大家詳細(xì)介紹了PropertyGrid自定義控件的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 詳解C# partial 關(guān)鍵字的使用

    詳解C# partial 關(guān)鍵字的使用

    局部類型允許我們將一個類、結(jié)構(gòu)或接口分成幾個部分,分別實現(xiàn)在幾個不同的.cs文件中。接下來通過本文給大家分享C# partial 關(guān)鍵字的使用,感興趣的的朋友一起看看吧
    2017-08-08
  • c#使用S22.Imap收劍靈激活碼郵件代碼示例(imap收郵件)

    c#使用S22.Imap收劍靈激活碼郵件代碼示例(imap收郵件)

    一個IMAP收發(fā)郵件的類庫S22.IMAP,方便易用,下面來個例子可以收劍靈激活碼郵件
    2013-12-12
  • c# in depth的泛型實現(xiàn)實例代碼

    c# in depth的泛型實現(xiàn)實例代碼

    這篇文章主要介紹了c# in depth的泛型實現(xiàn)實例代碼,學(xué)C#的同學(xué)一定會用到泛型實現(xiàn)的,這里我們提供了泛型實現(xiàn)的程序代碼,大家參考使用
    2013-11-11
  • 基于C#實現(xiàn)簡單離線注冊碼生成與驗證

    基于C#實現(xiàn)簡單離線注冊碼生成與驗證

    本文使用RSA非對稱加密和Base64簡單地實現(xiàn)離線注冊碼的生成與驗證功能。感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2015-09-09
  • C#編寫ActiveX網(wǎng)頁截圖控件

    C#編寫ActiveX網(wǎng)頁截圖控件

    這篇文章主要介紹了C#編寫ActiveX網(wǎng)頁截圖控件,作為學(xué)習(xí)C#編寫ActiveX的一個簡單入門教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • C#記錄消息到日志文件的方法

    C#記錄消息到日志文件的方法

    這篇文章主要介紹了C#記錄消息到日志文件的方法,涉及C#針對日志文件的讀寫操作技巧,非常簡單實用,需要的朋友可以參考下
    2015-07-07
  • C#利用接口實現(xiàn)多語種選擇功能

    C#利用接口實現(xiàn)多語種選擇功能

    這篇文章主要為大家詳細(xì)介紹了如何C#利用接口實現(xiàn)多語種選擇功能,即多語言切換的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-02-02
  • C#數(shù)據(jù)庫操作小結(jié)

    C#數(shù)據(jù)庫操作小結(jié)

    每次做項目都會用到數(shù)據(jù)庫,對數(shù)據(jù)庫的操作都是糊里糊涂從書里找代碼用。通過昨天晚上與今天早上的努力,把數(shù)據(jù)庫的操作整理了一下,下面把整理結(jié)果做個小結(jié)
    2012-09-09

最新評論