ภาพรวม
Stack<T> เป็นโครงสร้างข้อมูลแบบ LIFO (Last In, First Out) ใช้ Push() เพิ่มข้อมูล, Pop() ดึงข้อมูลออก, Peek() ดูข้อมูลบนสุด, และ Contains() ตรวจสอบว่ามีค่าหรือไม่
ตัวอย่างที่ 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);
stack.Push(300);
stack.Push(400);
stack.Push(450);
stack.Push(500);
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));
}
}
ผลลัพธ์
Elements in the Stack: 500 450 400 300 250 225 200 175 150 100 Count of elements in the Stack = 10 Does Stack has the element 400? = True
ตัวอย่างที่ 2: สร้าง Stack และวนลูปแสดงข้อมูล
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
stack.Push(60);
stack.Push(70);
stack.Push(80);
stack.Push(90);
stack.Push(100);
Console.WriteLine("Count of elements = " + stack.Count);
Console.WriteLine("Elements in Stack...");
foreach (int res in stack)
{
Console.WriteLine(res);
}
}
}
ผลลัพธ์
Count of elements = 10 Elements in Stack... 100 90 80 70 60 50 40 30 20 10
สรุป
- ข้อมูลที่ Push สุดท้ายจะอยู่บนสุด (แสดงก่อนใน foreach)
Countคืนจำนวนสมาชิก,Contains()ตรวจสอบค่า- เหมาะสำหรับงานที่ต้องการประมวลผลแบบถอยหลัง (undo, backtracking)