Mấy anh chị giải thích p=s.top bằng hình vẽ cho em với em k hiểu cái phần code sau else lắm!!
dacntt xoa(stack &s,dacntt x)
{
NODE *p;
if(ktrong(s)) printf("\nngan xep rong");
else
{
p=s.top;
s.top=p->next;
x=p->data;
}
return x;
}
Mấy anh chị giải thích p=s.top bằng hình vẽ cho em với em k hiểu cái phần code sau else lắm!!
dacntt xoa(stack &s,dacntt x)
{
NODE *p;
if(ktrong(s)) printf("\nngan xep rong");
else
{
p=s.top;
s.top=p->next;
x=p->data;
}
return x;
}
mình nghĩ như thế này:
p = s.top chọn p = top trong stack

bạn ơi cái Top là cái nào cái P là cái nào trong hình vẽ mình k hiểu @@
p = s.top. Sau khi xóa phần tử trên cùng của ngăn xếp thì top của ngăn xếp bây giờ sẽ phải là phần tử tiếp theo đó nên sẽ gán s.top = p->next. Còn x = p->data là để lấy ra dữ liệu của phần tử ban đầu ở đỉnh ngăn xếp.Mình tìm được cái hình như này, trường hợp xóa là 2 hình phía sau.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?