2.1、栈 先进后出(LIFO)数据结构 进栈 Push 出栈 Pop 取数 Peek namespace 栈 { class Program { static void Main(string[] args) { CStack str = new CStack(); str.Push("k"); str.Push("c"); str.Push("a"); str.Push("t"); str.Push("s"); str.Push("C"); for (int i = 0; i < 6; i++) { Console.WriteLine(str.Pop()); } Console.ReadLine(); } } public class CStack { private int p_index; private ArrayList list; public CStack() { list = new ArrayList(); p_index = -1; } public int Count { get { return list.Count; } } public void Push(object item)//入栈 { list.Add(item); p_index++; } public object Pop()//出栈 { object obj = list[p_index]; list.RemoveAt(p_index); p_index--; return obj; } public void Clear() { list.Clear(); p_index = -1; } public object Peek() { return list[p_index]; } } }
2.2、队列
先进先出(FIFO)数据结构 namespace 队列 { class Program { static void Main(string[] args) { CQueue queue = new CQueue(); queue.EnQueue("Q"); queue.EnQueue("U"); queue.EnQueue("E"); queue.EnQueue("U"); queue.EnQueue("E"); for (int i = 0; i <= 4; i++) { Console.WriteLine(queue.Peek()); queue.DeQueue(); } Console.ReadLine(); } } public class CQueue //队列 { private ArrayList pqueue; public CQueue() { pqueue = new ArrayList(); } public void EnQueue(object item) //入队 { pqueue.Add(item); } public void DeQueue() //出队 { pqueue.RemoveAt(0); } public object Peek() { return pqueue[0]; } public void ClearQueue() { pqueue.Clear(); } public int Count() { return pqueue.Count; } } }