1
using
System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication1
7 {
8 class MyStack < T >
9 {
10 T[] StackArray;
11 int StackPointer = 0 ;
12
13 const int MaxStack = 3 ;
14 bool IsStackFull
15 {
16 get
17 {
18 return StackPointer >= MaxStack;
19 }
20 }
21 bool IsStackEmpty
22 {
23 get
24 {
25 return StackPointer <= 0 ;
26 }
27 }
28 public void Push(T x)
29 {
30 if ( ! IsStackFull)
31 StackArray[StackPointer ++ ] = x;
32 }
33 public T Pop()
34 {
35 return ( ! IsStackEmpty)
36 ? StackArray[ -- StackPointer]
37 : StackArray[ 0 ];
38 }
39
40 public MyStack()
41 {
42 StackArray = new T[MaxStack]; // 创建栈
43 }
44 public void Print()
45 {
46 for ( int i = StackPointer - 1 ; i >= 0 ; i -- )
47 {
48 Console.WriteLine( " Value:{0} " , StackArray[i]);
49 }
50 }
51
52 }
53 class Program
54 {
55 static void Main( string [] args)
56 {
57 var stackInt = new MyStack < int > ();
58 var stackString = new MyStack < string > ();
59
60 stackInt.Push( 3 );
61 stackInt.Push( 5 );
62 stackInt.Push( 7 );
63 stackInt.Push( 8 );
64 stackInt.Print();
65
66 stackString.Push( " Great! " );
67 stackString.Push( " Hi there " );
68
69 stackString.Print();
70 Console.ReadKey();
71 }
72 }
73 }
74
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication1
7 {
8 class MyStack < T >
9 {
10 T[] StackArray;
11 int StackPointer = 0 ;
12
13 const int MaxStack = 3 ;
14 bool IsStackFull
15 {
16 get
17 {
18 return StackPointer >= MaxStack;
19 }
20 }
21 bool IsStackEmpty
22 {
23 get
24 {
25 return StackPointer <= 0 ;
26 }
27 }
28 public void Push(T x)
29 {
30 if ( ! IsStackFull)
31 StackArray[StackPointer ++ ] = x;
32 }
33 public T Pop()
34 {
35 return ( ! IsStackEmpty)
36 ? StackArray[ -- StackPointer]
37 : StackArray[ 0 ];
38 }
39
40 public MyStack()
41 {
42 StackArray = new T[MaxStack]; // 创建栈
43 }
44 public void Print()
45 {
46 for ( int i = StackPointer - 1 ; i >= 0 ; i -- )
47 {
48 Console.WriteLine( " Value:{0} " , StackArray[i]);
49 }
50 }
51
52 }
53 class Program
54 {
55 static void Main( string [] args)
56 {
57 var stackInt = new MyStack < int > ();
58 var stackString = new MyStack < string > ();
59
60 stackInt.Push( 3 );
61 stackInt.Push( 5 );
62 stackInt.Push( 7 );
63 stackInt.Push( 8 );
64 stackInt.Print();
65
66 stackString.Push( " Great! " );
67 stackString.Push( " Hi there " );
68
69 stackString.Print();
70 Console.ReadKey();
71 }
72 }
73 }
74