Giới thiệu
Phương thức Clear() của Stack<T> xóa toàn bộ phần tử, đặt Count = 0. Stack vẫn có thể dùng tiếp.
Ví dụ 1: Stack Push 8, 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 trước)");
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 trước)
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ử, Clear
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);
}
stack.Clear();
Console.Write("Số phần tử (cập nhật) = " + stack.Count);
}
}
Kết quả
Số phần tử = 10
Các phần tử Stack...
100
90
80
70
60
50
40
30
20
10
Số phần tử (cập nhật) = 0
So sánh Clear vs Pop
Clear(): xóa tất cả, O(n) (giải phóng tham chiếu), Count = 0.Pop(): lấy và xóa phần tử đỉnh, O(1), Count giảm 1.- Dùng
Clearkhi muốn reset nhanh; dùngPopkhi cần xử lý từng phần tử LIFO.