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
foreachtrên Stack trả về từ đỉnh (top) xuống đáy. Countlà O(1).- Non-generic
Stack(System.Collections) cũng cóCountnhưng boxing.