• c#实现Stack


     1  public class Nodes //结点类
     2     {
     3         public Nodes Next;
     4         public object Value;
     5         public Nodes(object value) : this(value, null) { }
     6         public Nodes(object value, Nodes next)
     7         {
     8             Next = next;
     9             Value = value;
    10         }
    11     }

     1 public class Stack
     2     {
     3         private int count = 0;
     4         private Nodes first = null;//定义首结点
     5 
     6         public bool Empty
     7         {
     8             getreturn (first == null);}  
     9         }
    10 
    11 
    12         public int Count
    13         {
    14             get{return count;} 
    15         }
    16 
    17         public object Pop()//入栈
    18         {
    19             if (first == null)
    20             {
    21                 throw new InvalidOperationException("Can not pop from an empty stack;");
    22             }
    23             else
    24             {
    25                 object temp = first.Value;
    26                 first = first.Next;
    27                 count--;
    28                 return temp;
    29             }
    30         }
    31 
    32         public void push(object o)//出栈
    33         {
    34             first = new Nodes(o, first);
    35             count++;
    36         }
    37 
    38         public Stack(){ }
    39         
    40        
    41 
    42     }

    源代码:/Files/HeroBeast/Stack.rar

  • 相关阅读:
    洛谷 P2058 海港(模拟)
    LA 3708 墓地雕塑(模拟)
    Uva 11300 Spreading the Wealth(贪心)
    UVA 11729 Commando War (贪心)
    【洛谷习题】Likecloud-吃、吃、吃
    【洛谷习题】多米诺骨牌
    【洛谷习题】相似基因
    【NOI1995】石子合并
    【洛谷习题】尼克的任务
    【NOIP2004】合唱队形
  • 原文地址:https://www.cnblogs.com/HeroBeast/p/1243724.html
Copyright © 2020-2023  润新知