发信人: 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]
|
|