棧
棧的數據結構非常簡單,可以把它理解成直立的盒子,這個盒子只有一個口子,所以每次只能拿出或者放入最上面的元素。所以它只能實現先進後出的結構。
簡單的Demo
public void stack()
{
//設定棧容量為100
Stack stack = new Stack(100);
stack.Push("11");
stack.Push("12");
//操作棧頂元素的兩種方式
//刪除返回元素
stack.Pop();
//返回但不刪除
stack.Peek();
//複製到一個數組內
String[] strings=new string[100];
stack.CopyTo(strings, 0);
//返回一個數組
stack.ToArray();
//stack無法保證實例在多線程下安全同步,故可以使用包裝類鎖定
Stack stacknew = Stack.Synchronized(stack);
if (stacknew.IsSynchronized)
{
Console.WriteLine("棧已鎖定");
}
if (stacknew.Contains("11")) {
}
stack.Clear();
}