Có thể sử dụng enqueue và dequeue cùng lúc không?

Chào mọi người. Em mới học về queue, em có câu hỏi như tiêu đề và được miêu tả như ảnh dưới. Mọi người giải thích giúp em với. Em cảm ơn

Chẳng có lệnh gì có thể thực hiện cùng 1 lúc cả. Chỉ là thời gian giữa 2 lệnh quá nhỏ (micro/nano-giây) nên không cảm nhận được.

Còn về Queue như hình:

  • Nếu Dequeue thực hiện trước thì Enqueue suôn sẻ.
  • Nếu Enqueue thực hiện trước, không thực hiện được vì Queue đã đầy. Sau đó đến Dequeue, lúc này số phần tử chỉ còn 3.

Cách triển khai của Queue cũng nên chú ý đến an toàn cho đa luồng (multithreading).

4 Likes

Nhưng như vậy là có thể dịch chuyển giá trị trong queue lên vị trí khác đúng không ạ? Em xem mấy video visualize thì đều cho dequeue hết mới enqueue lại từ đầu

Tùy vào cách cài đặt queue của bạn nữa. :slight_smile:

Chắc lười làm các trường hợp phức tạp. :kissing:

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