Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Stack trong C# với các ví dụ

Lớp Stack trong C# đại diện cho tập hợp last-in-first-out (LIFO) non-generic.

Thuộc tính

STTThuộc tính & Mô tả
1Count: Số phần tử trong Stack.
2IsSynchronized: Có đồng bộ (thread-safe) không.
3SyncRoot: Đối tượng dùng để đồng bộ hóa.

Phương thức

STTPhương thức & Mô tả
1Clear(): Xóa tất cả đối tượng.
2Clone(): Tạo bản sao nông.
3Contains(Object): Kiểm tra phần tử tồn tại.
4CopyTo(Array, Int32): Sao chép vào mảng.
5GetEnumerator(): Trả về IEnumerator.
6Peek(): Xem phần tử đỉnh mà không xóa.
7Pop(): Xóa và trả về phần tử đỉnh.
8Push(Object): Thêm phần tử vào đỉnh.

Ví dụ 1: Xem phần tử đỉnh (Peek)

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");
        stack.Push("I");
        stack.Push("J");
        
        Console.WriteLine("Số phần tử = " + stack.Count);
        Console.WriteLine("Phần tử ở đỉnh stack = " + stack.Peek());
    }
}

Kết quả

Số phần tử = 10
Phần tử ở đỉnh stack = J

Ví dụ 2: Kiểm tra tồn tại (Contains)

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("Các phần tử Stack:");
        foreach(var val in stack) {
            Console.WriteLine(val);
        }
        
        Console.WriteLine("Số phần tử = " + stack.Count);
        Console.WriteLine("Có phần tử 400? = " + stack.Contains(400));
    }
}

Kết quả

Các phần tử Stack:
500
450
400
300
250
225
200
175
150
100
Số phần tử = 10
Có phần tử 400? = True