栈(Stack)
栈中元素是从上到下加入的,即“后进先出”
Pop :弹出栈顶元素并删除
push :压入栈顶元素
peek:弹出栈顶元素不删除
ToArray:方法创建数组并将堆栈元素复制到其中
Contains:方法判断一个元素是否在栈中
Stack<string> staA = new Stack<string>();
staA.Push("one"); staA.Push("two"); staA.Push("three"); staA.Push("four"); staA.Push("five");
foreach (string a in staA)//遍历元素,将之变成string类型 { Console.WriteLine(a); } //peek是把栈顶元素弹出(取出),但不删除 Console.WriteLine("取出的元素是:{0}", staA.Peek()); //pop是把栈顶的元素弹出(取出),并将其删除 Console.WriteLine("删除的栈顶元素是:{0}",staA .Pop ()); //此时再输出一次栈的元素,会发现five被删除了 foreach (string b in staA) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(b); } //ToArray从栈底到栈顶将一个栈复制到另一个栈中 Stack<string> staB = new Stack<string>(staA.ToArray()); foreach (string c in staB) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(c); } Console.WriteLine(" "); Console.ForegroundColor = ConsoleColor.DarkRed; //contains方法,判断一个元素是否在栈中 Console.WriteLine("six是否在栈中?"); Console.WriteLine(staA .Contains ("six"));
输出结果如下: