C#自定義的方法實(shí)現(xiàn)堆棧類設(shè)計(jì)
本實(shí)例展示了如何使用C#創(chuàng)建一個(gè)帶有Push方法和Clist類的CStack類,并如何在其中添加和遍歷堆棧數(shù)據(jù)。
1.首先創(chuàng)建一個(gè)名為Clist的類
這是堆棧實(shí)現(xiàn)的基礎(chǔ)。有兩處注意的:
應(yīng)使用List<T>.RemoveAt(Int32) 方法而不是List<T>.Remove(T) 方法,否則,后期生成的Pop方法是不起作用的。
為了實(shí)現(xiàn)堆棧的LIFO特性,遍歷輸出Display()方法應(yīng)選擇反向遍歷輸出。
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)建一個(gè)名為CStack的類
它將使用Clist類的實(shí)例來實(shí)現(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.運(yùn)行結(jié)果
把上面3個(gè)類,放進(jìn)一個(gè)命名空間,運(yùn)行結(jié)果:
運(yùn)行結(jié)果:
堆棧數(shù)量=3
30 20 10
堆棧數(shù)量= 1
10
到此這篇關(guān)于C#自定義的方法實(shí)現(xiàn)堆棧類設(shè)計(jì)的文章就介紹到這了,更多相關(guān)C#堆棧類設(shè)計(jì)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# 構(gòu)造函數(shù)如何調(diào)用虛方法
這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07C#實(shí)現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF
Markdown作為一種輕量級的標(biāo)記語言,因其簡潔易讀、語法清晰的特點(diǎn)被廣大程序員和技術(shù)文檔編寫者所青睞,本文主要介紹了如何使用C#實(shí)現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF,需要的可以參考下2024-03-03在WPF中動態(tài)加載XAML中的控件實(shí)例代碼
這篇文章主要介紹了在WPF中動態(tài)加載XAML中的控件,實(shí)例分析了WPF中針對XAML中控件的動態(tài)調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07C#中的不可變數(shù)據(jù)類型介紹(不可變對象、不可變集合)
這篇文章主要介紹了C#中的不可變數(shù)據(jù)類型介紹(不可變對象、不可變集合),本文講解了不可變對象、自定義不可變集合、Net提供的不可變集合、不可變優(yōu)點(diǎn)、不可變對象缺點(diǎn)等內(nèi)容,需要的朋友可以參考下2015-04-04