chào mn !
mình đang xây dựng lớp Stack thì gặp vấn đề là sau đi xuất các phần tử ra lần thì bình thường,nhưng nếu xuất lần 2 thì không còn phần tử nào cả
void MyStack::xuat()
{
if (isEmpty() == true)
cout << "Stack dang rong !!!";
while(!isEmpty())
{
cout << " " << peek();
pop();
}
}
Lý do là vì khi mình tạo một đối tượng giá trị rồi mình gọi đến hàm xuất thì trong hàm xuất nó thực hiện thao tác xuất phần từ trong ngăn xếp bằng cách: xuất ra các phần tử ở đỉnh ngăn xếp(peek()), rồi xóa phần tử đầu ngăn xếp đi (pop()) cho đến khi stack rỗng thì dừng.Khi mình gọi đến lần 2 thì nó đã pop() hết các phần tử trong ngăn xếp ra rồi.Tùy mình biết nhưng chả thể nào fix được
Con lớp Stack dựng sẵn thì k bị lỗi này !
Mình post lên đây mong mọi người giúp đỡ mình với ạ
Cảm ơn mọi người