Consider the following pseudocode: declare a queue 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 dequeue and write the dequeued character to the screen

Đề bài
  else
  enqueue the character into the queue
}

What is written to the screen for the input "HowAre***You**To****Day" ?

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: "HowAreYou". Hàng đợi lấy ra theo đúng thứ tự đã nạp vào, và mỗi dấu sao là một lệnh lấy ra rồi in ký tự vừa lấy, nên số ký tự in bằng số dấu sao. Chuỗi vào nạp H, o, w, A, r, e; ba dấu sao in H, o, w; nạp Y, o, u; hai dấu sao in A rồi r; nạp T, o; bốn dấu sao in e, Y, o, u; cuối cùng nạp D, a, y mà không còn dấu sao nào. Chín dấu sao cho đúng chín ký tự theo lối vào trước ra trước, còn T, o, D, a, y nằm lại trong hàng đợi. Chuỗi "HowAreYo" chỉ có tám ký tự, tức bỏ sót một lần lấy ra so với chín dấu sao đã đọc. Chuỗi "owAreYouT" khởi đầu ở o như thể H bị bỏ qua, nhưng H vào hàng đợi đầu tiên nên phải ra đầu tiên. Chuỗi "wAreYouTo" khởi đầu ở w nên mất cả H lẫn o, lại chen T vào cuối, trong khi T mới nạp sau khi hai dấu sao đã đẩy A rồi r ra ngoài và nó vẫn còn trong hàng đợi.

Cùng phần 2

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