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

Triển khai Stack (Ngăn xếp) trong C#

Lớp Stack triển khai bằng các thao tác Push và Pop.

Stack đại diện cho tập hợp last-in, first-out (LIFO). Các phương thức:

STTPhương thức & Mô tả
1Clear() – Xóa tất cả phần tử.
2Contains(object) – Kiểm tra phần tử có trong Stack.
3Peek() – Xem phần tử đỉnh không xóa.
4Pop() – Xóa và trả về phần tử đỉnh.
5Push(object) – Thêm phần tử vào đỉnh.
6ToArray() – Copy Stack sang mảng mới.

Push thêm phần tử:

Stack st = new Stack();
st.Push('A');
st.Push('B');
st.Push('C');
st.Push('D');

Pop xóa phần tử:

st.Push('P');
st.Push('Q');

Ví dụ làm việc với Stack:

Ví dụ

using System;
using System.Collections;

namespace CollectionsApplication {
    class Program {
        static void Main(string[] args) {
            Stack st = new Stack();
            st.Push('A');
            st.Push('B');
            st.Push('C');
            st.Push('D');
            Console.WriteLine("Stack hiện tại: ");
            foreach (char c in st) Console.Write(c + " ");
            Console.WriteLine();
            st.Push('P');
            st.Push('Q');
            Console.WriteLine("Phần tử sắp pop: {0}", st.Peek());
            Console.WriteLine("Stack hiện tại: ");
            foreach (char c in st) Console.Write(c + " ");
            Console.WriteLine();
            Console.WriteLine("Đang xóa...");
            st.Pop();
            st.Pop();
            st.Pop();
            Console.WriteLine("Stack hiện tại: ");
            foreach (char c in st) Console.Write(c + " ");
        }
    }
}

Kết quả

Stack hiện tại: D C B A
Phần tử sắp pop: Q
Stack hiện tại: Q P D C B A
Đang xóa...
Stack hiện tại: C B A