ภาพรวม
เมธอด Stack<T>.Push(T item) ใส่ออบเจ็กต์ไว้ที่ด้านบน (top) ของสแต็ก ทำงานแบบ LIFO (Last-In-First-Out)
ตัวอย่างที่ 1: Stack ของจำนวนเต็ม
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
Stack<int> stack = new Stack<int>();
stack.Push(100);
stack.Push(150);
stack.Push(175);
stack.Push(200);
stack.Push(225);
stack.Push(250);
Console.WriteLine("Elements in the Stack:");
foreach (var val in stack)
{
Console.WriteLine(val);
}
Console.WriteLine("Count of elements in the Stack = " + stack.Count);
Console.WriteLine("Does Stack has the element 400? = " + stack.Contains(400));
stack.Push(300);
stack.Push(400);
stack.Push(450);
stack.Push(500);
Console.WriteLine("Elements in the Stack... (UPDATED)");
foreach (var val in stack)
{
Console.WriteLine(val);
}
Console.WriteLine("Count of elements in the Stack (UPDATED) = " + stack.Count);
}
}
ผลลัพธ์
Elements in the Stack: 250 225 200 175 150 100 Count of elements in the Stack = 6 Does Stack has the element 400? = False Elements in the Stack... (UPDATED) 500 450 400 300 250 225 200 175 150 100 Count of elements in the Stack (UPDATED) = 10
ตัวอย่างที่ 2: Stack ของสตริง
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
Stack<string> stack = new Stack<string>();
stack.Push("A");
stack.Push("B");
stack.Push("C");
stack.Push("D");
stack.Push("E");
stack.Push("F");
stack.Push("G");
stack.Push("H");
Console.WriteLine("Count of elements = " + stack.Count);
Console.WriteLine("Elements in Stack...");
foreach (string res in stack)
{
Console.WriteLine(res);
}
stack.Push("M");
Console.WriteLine("Elements in the Stack... (UPDATED)");
foreach (var val in stack)
{
Console.WriteLine(val);
}
Console.WriteLine("Count of elements in the Stack (UPDATED) = " + stack.Count);
}
}
ผลลัพธ์
Count of elements = 8 Elements in Stack... H G F E D C B A Elements in the Stack... (UPDATED) M H G F E D C B A Count of elements in the Stack (UPDATED) = 9
สรุป
Pushใส่ที่ top,Popดึงและลบ top,Peekดู top โดยไม่ลบ- Stack เป็น LIFO ตัวสุดท้ายที่ Push จะเป็นตัวแรกที่ Pop
- generic
Stack<T>แนะนำให้ใช้แทน non-genericStack