c# Stack操作类
2010-09-01 08:35 田志良 阅读(7800) 评论(2) 编辑 收藏 举报Stack类代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | using System; //using System.Collections.Generic; using System.Text; using System.Collections; namespace StackHelper { class StackHelper { private Stack list; public Stack List { set { list = value; } get { return list; } } public StackHelper() { list = new Stack(); //注意:不是list=new StackHelper() Console.WriteLine( "---------Stack-----------" ); } //压入一个元素 public void Add( object o) { list.Push(o); Console.WriteLine( "压入\t元素:{0}" ,o); } //删除栈顶元素 public void Remove() { list.Pop(); Console.WriteLine( "弹出栈顶元素" ); } //取出栈顶元素 public void GetValue() { list.Peek(); Console.WriteLine( "取出栈顶元素的值" ); } //使用foreach进行遍历 public void GetValues() { Console.WriteLine( "遍历" ); foreach ( object o in list) { Console.WriteLine( string .Format( "\t元素的值:{0}" ,o)); } } //得到Stack的信息 public void GetInfo() { Console.WriteLine( string .Format( "信息\t元素总数:{0}" ,list.Count)); } } } |
测试页面代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace StackHelper { class Program { static void Main( string [] args) { StackHelper list= new StackHelper(); list.Add( "a" ); list.Add( "b" ); list.Add( "c" ); list.GetInfo(); list.GetValues(); list.GetValue(); list.GetValues(); list.GetInfo(); list.Remove(); list.GetValues(); list.GetInfo(); } } } |
注意:Pop ()和Peek()方法的区别。Pop()取出栈顶元素,栈顶元素被弹出Stack;Peek()读得栈顶元素,但站定元素没有被弹出Stack。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?