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