Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ตรวจสอบว่า Stack มีสมาชิกหรือไม่ใน C#

บทความนี้สาธิตวิธีตรวจสอบว่า Stack<T> มีสมาชิก (element) ที่ระบุอยู่หรือไม่ โดยใช้เมธอด Contains() ใน C#

ตัวอย่างที่ 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<string> stack = new Stack<string>();
        stack.Push("Steve");
        stack.Push("Gary");
        stack.Push("Stephen");
        stack.Push("Nathan");
        stack.Push("Katie");
        stack.Push("Andy");
        stack.Push("David");
        stack.Push("Amy");

        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 Michael? = " + stack.Contains("Michael"));
    }
}

ผลลัพธ์

Elements in the Stack:
Amy
David
Andy
Katie
Nathan
Stephen
Gary
Steve
Count of elements in the Stack = 8
Does Stack has the element Michael? = False

สรุป

  • ใช้ Contains(T item) เพื่อตรวจสอบว่ามีสมาชิกอยู่ใน Stack หรือไม่ — คืนค่า bool
  • Stack เป็นโครงสร้างข้อมูลแบบ LIFO (Last In, First Out) — สมาชิกที่เพิ่มล่าสุดจะอยู่ด้านบน (top)
  • การวนลูป foreach จะแสดงข้อมูลจาก top ไป bottom (LIFO order)
  • เมธอด Contains() ทำการค้นหาแบบ linear search — Complexity คือ O(n)
  • คุณสมบัติ Count คืนจำนวนสมาชิกใน Stack