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

Lấy số phần tử trong Stack C#

Giới thiệu

Stack<T> (namespace System.Collections.Generic) là tập hợp LIFO (Last-In-First-Out). Thuộc tính Count trả về số phần tử. Push thêm, Pop lấy và xóa, Peek chỉ xem.

Ví dụ 1: Stack, Push và Clear

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        Stack stack = new Stack();
        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("Số phần tử = " + stack.Count);
        Console.WriteLine("Các phần tử Stack... (đỉnh ở đầu)");
        foreach (string res in stack)
        {
            Console.WriteLine(res);
        }

        stack.Clear();
        Console.Write("Số phần tử (cập nhật) = " + stack.Count);
    }
}

Kết quả

Số phần tử = 8
Các phần tử Stack... (đỉnh ở đầu)
H
G
F
E
D
C
B
A
Số phần tử (cập nhật) = 0

Ví dụ 2: Stack 10 phần tử

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        Stack stack = new Stack();
        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("Số phần tử = " + stack.Count);
        Console.WriteLine("Các phần tử Stack...");
        foreach (int res in stack)
        {
            Console.WriteLine(res);
        }
    }
}

Kết quả

Số phần tử = 10
Các phần tử Stack...
100
90
80
70
60
50
40
30
20
10

Lưu ý

  • Duyệt foreach trên Stack trả về từ đỉnh (top) xuống đáy.
  • Count là O(1).
  • Non-generic Stack (System.Collections) cũng có Count nhưng boxing.