精华区 [关闭][返回]

当前位置:月光软件>>讨论区精华>>〖软件开发〗>>● ASP>>★ASP的延伸★>>C# (C Sharp)>>C# 堆栈实现

主题:C# 堆栈实现
发信人: dongbao()
整理人: dongbao(2000-10-28 21:56:47), 站内信件
namespace Stack
{  
  using System;  
  public class Stack  
  {    
    private Node first = null;    
    private int count = 0;
/***********************************************
    Property Procedures do not accept any parameters. Note the diff in
 the function definition (no parenthesis)***************
*********************************/    
    public bool Empty    
    {/*******************************************
     Property Get Procedure**************
******************************/       
     get      
        {        
          return (first == null);      
         }    
      }    
     public int Count    
      {/*******************************************
        Property Get Procedure
     ********************************************/     
     get    
          {      
             return count;    
           }  
     }  
      public object Pop()  
        {    
          if (first == null)    
              {      
                throw new InvalidOperation Exception ("Cant pop from a
n empty stack");    
                }    
          else    
               {  
                  object temp = first.Value;      
                  first = first.Next;
                  count--;
                  return temp;    
               }  
          } 
          public void Push(object o)  
          {    
            first = new Node(o, first);    
            count++;  
            }  
   class Node  
     {
        public Node Next;
        public object Value;    
        public Node(object value) : this(value, null) {}   
        public Node(object value, Node next)    
          {      
            Next = next;      
            Value = value;    
          }  
        }
        }
class StackTest
   {  
        static void Main()  
          {
            Stack s = new Stack();    
             if (s.Empty)      
              Console.WriteLine("Stack is Empty");
              else  
                 Console.WriteLine("Stack is not Empty");    
             for (int i = 0; i < 5; i++)
s.Push(i);
Console.WriteLine("Items in Stack {0}", s.Count);
for (int i = 0; i < 5; i++)
Console.WriteLine("Popped Item is {0} and the count is
{1}", s.Pop(), s.Count);
s = null;
}
}
}//*********END OF CODE


--
ICQ:43395237 OICQ:126132  
我自豪我用正版,我骄傲我用盗版!!! 

※ 修改:.dongbao 于 Oct 28 21:49:37 修改本文.[FROM: 202.108.0.78]
※ 来源:.月光程序代码网 http://www.moon-soft.com.[FROM: 202.108.0.78]

[关闭][返回]






转载请注明:转载自 月光程序代码网 [ http://www.moon-soft.com ]