Consider the following pseudocode: declare a stack of characters

4 phương ánCó giải thích
Đề bài
while(there are more characters in the word to read)

{read a character if a character is '*' then pop the stack

Đề bài
    else
     push the character into the stack
 }
while(the stack is not empty)

pop and write the poped character to the screen What is written to the screen for the input "Good**Morn**in***gSir" ?

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "riSgMoG". Ngăn xếp lấy ra phần tử mới nhất. Nạp G, o, o, d rồi hai dấu sao lấy ra d và o, còn G, o; nạp M, o, r, n rồi hai dấu sao lấy ra n và r, còn G, o, M, o; nạp i, n rồi ba dấu sao lấy ra n, i, o, còn G, o, M; nạp g, S, i, r nên ngăn xếp từ đáy lên là G, o, M, g, S, i, r. Vòng cuối lấy ra và in từ đỉnh xuống đáy, cho r, i, S, g, M, o, G, tức riSgMoG. Dãy "riSgMoo" cần đáy là hai chữ o, nhưng chữ o thứ hai đã bị dấu sao thứ hai trong Good lấy ra. Dãy "riSgMor" kết thúc bằng r, trong khi r vừa được in đầu tiên vì nó ở đỉnh, không thể đồng thời nằm ở đáy. Dãy "GoMg" đọc từ đáy lên và rụng mất bốn ký tự, đó là trật tự của hàng đợi chứ không phải ngăn xếp.

Cùng phần 2

Xuất hiện trong 1 bộ đề