C# 实现简单的栈

来源:互联网 发布:中国网络暴力第一案 编辑:程序博客网 时间:2024/06/06 04:15

最近开始学习C#,以用来学习Unity3D.

最近应该会更新关于C#学习法方面的一些心得和例子。

这是一个简单的仅支持入栈出栈的栈。

class1.cs

using System;namespace MyStack{    class myStack    {        StackForm top;//栈顶元素        public void Push(object data){//入栈            //根据当前栈顶元素新构建一个新的栈顶,并将当前栈顶的NextItem指向原来的top            top = new StackForm(top, data);            //看到new习惯性的想着要写析构函数了....        }        public object Pop() { //出栈            if (top == null)                throw new InvalidOperationException();            object result = top.data;            top = top.nextItem;//重新指定栈顶            return result;        }        //栈的数据格式,用链表来实现栈        class  StackForm{            public StackForm nextItem;//栈的下一个数据,自栈顶往下            public object data;//栈顶数据            public StackForm(StackForm sNext, object sData){                this.nextItem = sNext;                this.data = sData;            }        }    }}
一个简单的测试例子

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using MyStack;namespace Stack{    class StackTest    {        static void Main() {            myStack s = new myStack();            s.Push(100);            s.Push(200);            s.Push("haha");            s.Push("0.009");            Console.WriteLine("当前栈顶元素为:{0}", s.Pop());            Console.WriteLine("当前栈顶元素为:{0}", s.Pop());            Console.WriteLine("当前栈顶元素为:{0}", s.Pop());            Console.WriteLine("当前栈顶元素为:{0}", s.Pop());            Console.ReadKey();                }            }}
运行截图:



写C#程序让我找回了当年学Java的那种感觉。



——————————————————————————————————————————————————————————————————

//写的错误或者不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

author:天下无双

Email:coderguang@gmail.com

2014-11-2

于GDUT

——————————————————————————————————————————————————————————————————





0 0
原创粉丝点击