欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#自定義的方法實現(xiàn)堆棧類設計

 更新時間:2024年03月07日 08:53:17   作者:wenchm  
這篇文章主要為大家詳細介紹了如何使用C#創(chuàng)建一個帶有Push方法和Clist類的CStack類,并如何在其中添加和遍歷堆棧數(shù)據(jù),感興趣的可以了解下

本實例展示了如何使用C#創(chuàng)建一個帶有Push方法和Clist類的CStack類,并如何在其中添加和遍歷堆棧數(shù)據(jù)。

1.首先創(chuàng)建一個名為Clist的類

這是堆棧實現(xiàn)的基礎。有兩處注意的:

應使用List<T>.RemoveAt(Int32) 方法而不是List<T>.Remove(T) 方法,否則,后期生成的Pop方法是不起作用的。

為了實現(xiàn)堆棧的LIFO特性,遍歷輸出Display()方法應選擇反向遍歷輸出。

public class Clist
{
    private readonly List<int>? myList;
 
    public Clist()
    {
        myList = [];
    }
 
    public void Add(int item)
    {
        myList!.Add(item);
    }
 
    public void RemoveAt(int item)
    {
        myList!.RemoveAt(item);
    }
 
    public void Clear()
    {
        myList!.Clear();
    }
 
    public int Count()
    {
        return myList!.Count;
    }
 
    public void Display()
    {
        for (int i = myList!.Count - 1; i >= 0; i--)
        {
            int item = myList[i];
            Console.Write(item + " ");
        }
        Console.WriteLine();
    }
}

2.接下來創(chuàng)建一個名為CStack的類

它將使用Clist類的實例來實現(xiàn)堆棧。

 public class CStack
 {
     private readonly Clist mylist;
 
     public CStack()
     {
         mylist = new Clist();
     }
 
     public void Push(int item)
     {
         mylist.Add(item);
     }
 
     public void Pop()
     {
         mylist.RemoveAt(mylist.Count() - 1);
     }
 
     public int Count()
     {
         return mylist.Count();
     }
 
     public void Display()
     {
         mylist.Display();
     }
 }

3.最后使用CStack類和Push方法來添加和遍歷堆棧數(shù)據(jù)

class Program
{
    static void Main(string[] args)
    {
        ArgumentNullException.ThrowIfNull(args);
 
        CStack stack = new();
 
        stack.Push(10);
        stack.Push(20);
        stack.Push(30);
        Console.WriteLine("堆棧數(shù)量={0}", stack.Count());
        stack.Display(); // 輸出:30 20 10
 
        stack.Pop();
        stack.Pop();
        Console.WriteLine("堆棧數(shù)量= {0}", stack.Count());
        stack.Display(); // 輸出:10
    }
}

4.運行結(jié)果

把上面3個類,放進一個命名空間,運行結(jié)果:

運行結(jié)果:

堆棧數(shù)量=3
30 20 10
堆棧數(shù)量= 1
10

到此這篇關(guān)于C#自定義的方法實現(xiàn)堆棧類設計的文章就介紹到這了,更多相關(guān)C#堆棧類設計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# 構(gòu)造函數(shù)如何調(diào)用虛方法

    C# 構(gòu)造函數(shù)如何調(diào)用虛方法

    這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細,示例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#實現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF

    C#實現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF

    Markdown作為一種輕量級的標記語言,因其簡潔易讀、語法清晰的特點被廣大程序員和技術(shù)文檔編寫者所青睞,本文主要介紹了如何使用C#實現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF,需要的可以參考下
    2024-03-03
  • C# 基礎入門--注釋

    C# 基礎入門--注釋

    本文主要介紹了C#中注釋的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • C#使用NPOI上傳excel

    C#使用NPOI上傳excel

    這篇文章主要為大家詳細介紹了C#使用NPOI上傳excel的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 簡單了解C#設計模式編程中的橋接模式

    簡單了解C#設計模式編程中的橋接模式

    這篇文章主要介紹了C#設計模式編程中的橋接模式,橋接模式經(jīng)常應用于解耦邏輯層與數(shù)據(jù)操作層,需要的朋友可以參考下
    2016-02-02
  • C#自定義字符串替換Replace方法實例

    C#自定義字符串替換Replace方法實例

    這篇文章主要介紹了C#自定義字符串替換Replace方法,以兩個不同實例對比分析了C#自定義字符串替換Replace的方法,是C#關(guān)于字符串操作的典型應用,需要的朋友可以參考下
    2014-11-11
  • 在WPF中動態(tài)加載XAML中的控件實例代碼

    在WPF中動態(tài)加載XAML中的控件實例代碼

    這篇文章主要介紹了在WPF中動態(tài)加載XAML中的控件,實例分析了WPF中針對XAML中控件的動態(tài)調(diào)用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • C#自定義事件之屬性改變引發(fā)事件示例

    C#自定義事件之屬性改變引發(fā)事件示例

    這篇文章主要為大家詳細介紹了C#自定義事件之屬性改變引發(fā)事件示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#很簡單而又很經(jīng)典的一句代碼實例

    C#很簡單而又很經(jīng)典的一句代碼實例

    這篇文章主要給大家分享介紹了關(guān)于C#很簡單而又很經(jīng)典的一句代碼,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • C#中的不可變數(shù)據(jù)類型介紹(不可變對象、不可變集合)

    C#中的不可變數(shù)據(jù)類型介紹(不可變對象、不可變集合)

    這篇文章主要介紹了C#中的不可變數(shù)據(jù)類型介紹(不可變對象、不可變集合),本文講解了不可變對象、自定義不可變集合、Net提供的不可變集合、不可變優(yōu)點、不可變對象缺點等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評論