HÀNG ĐỢI QUEUE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Hàng đợi Queue là gì? Cấu trúc dữ liệu và các cách cài đặt Queue

Trong hướng dẫn này mình sẽ giới thiệu các bạn một cấu trúc lưu trữ dữ liệu nữa đó chính là hàng đợi Queue. Đây là một cấu trúc rất phổ biến trong lập trình và nó rất quen thuộc với chúng ta.

Chúng ta sẽ cùng nhau tìm hiểu về hàng đợi Queue là gì? Các thao tác cơ bản trên hàng đợi Queue cũng như các cách cài đặt nó.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Hàng đợi Queue là gì?

Hàng đợi Queue là một cấu trúc trừu tượng. Nó hoạt động dựa trên cơ chế FIFO (first in fisrt out), nghĩa là phần tử nào và trước thì phần tử đó sẽ ra trước.

Queue png

Ví dụ như lúc nhỏ khi chúng ta xếp hàng vào lớp, thì người đứng ở vị trí đầu tiên là người vào trước, tiếp đến lần lượt các người xếp ở phía sau. Một cấu trúc lưu trữ hoạt động theo cơ chế như vậy được goi là hàng đợi Queue.

Để năm rõ hơn về hàng đợi Queue, bây giờ chúng ta sẽ tìm hiểu về các thao tác cơ bản trong hàng đợi nhé.

2. Các thao tác cơ bản trong Queue

Về cơ bản thì hàng đợi Queue cũng là một cấu trúc lưu trữ tương tự như Stack, chỉ có điều cơ chế hoạt động của nó ngược lại với Stack, vì vậy trong Queue cũng có các hàm cơ bản tương tư như Stack:

  • Hàm khởi tạo Queue rỗng.
  • Hàm kiểm tra Queue rỗng.
  • Hàm trả về phần tử đầu tiên của Queue.
  • Hàm thêm phần tử vào cuối Queue.
  • Hàm xóa phần tử đầu tiên của Queue.

Những hàm này chúng ta sẽ được học ở những bài tiếp theo.

Trên đây là một số hàm cơ bản khi làm việc với Queue, ngoài ra còn một số hàm khác phụ thuộc vào bài toán yêu cầu, vì vậy các bạn chỉ cần nắm rõ các hàm này để có thể cài đặt một cấu trúc hàng đợi Queue.

3. Các cách cài đặt Queue

Để cài đặt Queue ta cũng sẽ có hai cách cài đặt cơ bản, đó chính là:

Tuy nhiên khi làm việc với các bài toán, ta ưu tiên chọn cách sử dụng danh sách liên kết để cài đặt hàng đợi, vì trong danh sách liên kết có các ưu điểm như lấy phần tử đầu phần tử cuối, thêm phần tử đầu phần tử cuối.

Nếu chúng ta sử dụng mảng để cài đặt cho hàng đợi Queue, thì khi thực hiện insertList và deleteList tốn rất nhiều thời gian. Trong khi đó nếu sử dụng danh sách liên kết đơn dể cài đặt ta chỉ cần sử dụng con trỏ pHead và pTail là có thể thực hiện nó một cách đơn giản.

4. Kết luận

Như vậy là chúng ta đã tìm hiểu xong về hàng đợi Queue là gì? Các thao tác cơ bản trên hàng đợi Queue cũng như các cách có thể cài đặt nó. Ở bài tiếp theo mình sẽ đi chi tiết vào từng cách cài đặt, kèm theo ví dụ cụ thể để các bạn có thể nắm rõ hơn, hãy chú ý theo dõi nhé !!!

Cùng chuyên mục:

Tìm các số chẵn lẻ bằng Queue và Stack

Tìm các số chẵn lẻ bằng Queue và Stack

Để làm được bài này các bạn cần có kiến thức về cấu trúc Queue…

Cài đặt hàng đợi Queue bằng mảng một chiều

Cài đặt hàng đợi Queue bằng mảng một chiều

Chúng ta sẽ cùng nhau tìm hiểu về cách cài đặt hàng đợi Queue bằng…

Cài đặt hàng đợi Queue bằng danh sách liên kết

Cài đặt hàng đợi Queue bằng danh sách liên kết

Chúng ta sẽ cùng nhau tìm hiểu về cách khởi tạo cấu trúc dữ liệu…

Bài tập kiểm tra số nguyên tố bằng Stack

Bài tập kiểm tra số nguyên tố bằng Stack

Chúng ta sẽ cùng nhau tạo một cấu trúc Stack với danh sách liên kết…

Bài tập chuyển đổi cơ số bằng Stack

Bài tập chuyển đổi cơ số bằng Stack

Trong hướng dẫn này mình sẽ thực hiện giải một bài toán chuyển đổi cơ…

Cài đặt Stack bằng mảng một chiều

Cài đặt Stack bằng mảng một chiều

Chúng ta sẽ lần lượt thực hiện tạo các hàm cơ bản cho Stack như:…

Cài đặt Stack bằng danh sách liên kết

Cài đặt Stack bằng danh sách liên kết

Chúng ta sẽ thực hiện lần lượt các thao tác trong Stack sử dụng danh…

Ngăn xếp Stack là gì? Cấu trúc và cơ chế hoạt động ra sao?

Ngăn xếp Stack là gì? Cấu trúc và cơ chế hoạt động ra sao?

Trong hướng dẫn này mình sẽ giới thiệu các bạn một cấu trúc lưu trữ…

Xóa Node khỏi cây đỏ đen

Xóa Node khỏi cây đỏ đen

Chúng ta sẽ cùng nhau tìm hiểu về cách xóa một Node khỏi cây đỏ…

Thêm Node mới vào cây đỏ đen

Thêm Node mới vào cây đỏ đen

Cây đỏ đen là gì? Cấu trúc của Red-Black Tree

Cây đỏ đen là gì? Cấu trúc của Red-Black Tree

Trong hướng dẫn này mình sẽ giới thiệu các bạn một cấu trúc dữ liệu…

Xóa Node khỏi cây nhị phân tìm kiếm

Xóa Node khỏi cây nhị phân tìm kiếm

Chúng ta sẽ cùng nhau thực hiện xóa Node có 1 con, Node có 2…

Tìm Node MAX và MIN trong cây nhị phân tìm kiếm

Tìm Node MAX và MIN trong cây nhị phân tìm kiếm

Chúng ta sẽ thực hiện một vài cách tìm ra giá trị MAX và MIN…

Xuất Node con và lá trong cây nhị phân tìm kiếm

Xuất Node con và lá trong cây nhị phân tìm kiếm

Trong hướng dẫn này mình sẽ giới thiệu các bạn cách xuất các Node con…

Tìm kiếm Node trên cây nhị phân tìm kiếm

Tìm kiếm Node trên cây nhị phân tìm kiếm

Trong hướng dẫn này mình sẽ giới thiệu các bạn cách tìm kiếm một Node…

Duyệt cây nhị phân tìm kiếm

Duyệt cây nhị phân tìm kiếm

Chúng ta sẽ tìm hiểu lần lượt 6 cách duyệt cây nhị phân tìm kiếm:

Thêm Node vào cây nhị phân tìm kiếm

Thêm Node vào cây nhị phân tìm kiếm

Trong hướng dẫn này mình sẽ giới thiệu các bạn về cấu trúc dữ liệu…

Cấu trúc cây nhị phân là gì? Hoạt động ra sao?

Cấu trúc cây nhị phân là gì? Hoạt động ra sao?

Trong bài này mình sẽ giới thiệu các bạn một trong các cấu trúc dữ…

Gộp hai danh sách liên kết đôi

Gộp hai danh sách liên kết đôi

Chúng ta sẽ cùng nhau tìm hiểu về cách nối hai danh sách liên kết…

Tìm kiếm phần tử k trong danh sách liên kết đôi

Tìm kiếm phần tử k trong danh sách liên kết đôi

Chúng ta sẽ cùng nhau tìm hiểu cách tìm kiếm một phần tử k trong…

Top