电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C#>>C# 堆栈实现:

C# 堆栈实现

来源:网络 | 2007-5-3 | (有2362人读过)

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  
GetProcedure********************************************/ 
       get 
      { 
        return (first == null); 
      } 
    } 
    public int Count 
    {/*******************************************Property Get  
Procedure********************************************/ 
     get 
    {      return count;    }  } 
  public object Pop() 
  { 
    if (first == null) 
    { 
      throw new InvalidOperationException ("Cant pop from an 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 

//ASPHouse http://asphouse.yeah.net/ 
        
C#热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号