Consider the following pseudocode: declare a stack of characters

5 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 "FileComp**ress*ion***" ?

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: "seroCeliF". Dấu sao ở đây chỉ lấy bỏ phần tử trên đỉnh mà không in; chỉ khi đọc hết chuỗi mới lấy ra lần lượt và in, nên kết quả là phần còn lại đọc ngược. Nạp F, i, l, e, C, o, m, p; hai dấu sao bỏ p rồi m. Nạp r, e, s, s; một dấu sao bỏ một chữ s. Nạp i, o, n; ba dấu sao bỏ n, o, i. Ngăn xếp còn F, i, l, e, C, o, r, e, s nên in ngược cho đủ chín ký tự. Chuỗi "seroCeli" rơi mất F ở cuối, nhưng F là ký tự nạp đầu tiên nên nó nằm dưới cùng và được in sau chót. Chuỗi "seroCelFi" đổi chỗ hai ký tự cuối, trong khi i nạp ngay sau F nên i phải ra trước F. Chuỗi "seroCeliFn" chen thêm n vào cuối, mà n đã bị một trong ba dấu sao cuối lấy bỏ. Chuỗi "Filreion" liệt kê theo chiều nạp vào chứ không theo chiều lấy ra, lại còn chứa i, o, n là ba ký tự đã bị loại bỏ.

Cùng phần 2

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