1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài 2: Hàng đợi (Queue) docx

11 918 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 100 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC TIÊU• Sau bài học này, sinh viên có khả năng:  Trình bày được định nghĩa hàng đợi Queue  Cài đặt được hàng đợi  Vận dụng hàng đợi vào các bài toán tính toán, sắp hàng bán vé tại r

Trang 1

Câu hỏi kiểm tra

Trình bày cách khai báo một cấu trúc của một ngăn xếp ?

Trả lời

typedef struct

{

int top;

int nodes[MAXSIZE];

} stack;

Trang 2

Bài 2 HÀNG ĐỢI (QUEUE)

CBGD: Trần Việt Khánh

Trang 3

MỤC TIÊU

• Sau bài học này, sinh viên có khả năng:

 Trình bày được định nghĩa hàng đợi (Queue)

 Cài đặt được hàng đợi

 Vận dụng hàng đợi vào các bài toán (tính toán, sắp hàng bán vé tại rạp chiếu phim, )

Trang 4

NỘI DUNG

I/ Định nghĩa II/ Cài đặt Queue (hàng

đợi)

1 Khai báo cấu trúc của một

hàng đợi

2 Các tác vụ trên hàng đợi

Trang 5

I/ Định nghĩa

Queue (hàng đợi) là một cấu trúc trừu tượng, được thực

hiện theo cơ chế FIFO (First In First Out): phần tử được đưa vào hàng đợi trước sẽ được lấy ra trước tiên

- Queue được cài đặt trên cơ sở mảng (bao gồm nhiều

phần tử)

- Queue có 2 chỉ số: chỉ số front để chỉ định phần tử đầu

hàng đợi, chỉ số rear để chỉ định phần tử cuối hàng đợi

Hình vẽ minh họa hàng đợi (Queue)

Trang 6

Sử dụng mảng Q để chứa các phần tử và 2 biến chỉ số front, rear để chỉ định các phần tử trong mảng Q

II/ Cài đặt Queue (hàng đợi)

1 Khai báo cấu trúc hàng đợi

// Khai báo cấu trúc của một Queue

typedef struct

{

int front,rear;

int nodes[MAXSIZE];

} queue;

Trang 7

Khởi tạo hàng đợi rỗng

void CreateQueue(queue &q)

{

q.front=-1;

q.rear=-1;

}

2 Các tác vụ trên Queue (hàng đợi)

bool EmptyQueue(queue q)

{

return ( q.front == q.rear);

}

Trang 8

Đưa một phần tử vào hàng đợi (Queue)

void AddQueue (queue &q, int x) {

q.rear=(q.rear+1) % MAXSIZE; q.nodes[q.rear]=x;

}

Trang 9

Lấy một phần tử ra khỏi hàng đợi (Queue)

int RemoveQueue(queue &q) {

int x;

q.front=(q.front+1) % MAXSIZE; x=q.nodes[q.front];

return x;

}

Trang 10

1 Viết chương trình áp dụng Queue (hàng đợi) để nhập xuất một chuỗi ký tự

2 Có thể áp dụng Queue (hàng đợi) để săp xếp bán vé xem phim cho khán giả tại rạp hát.

BÀI TẬP

Ngày đăng: 13/07/2014, 20:20

HÌNH ẢNH LIÊN QUAN

Hình vẽ minh họa hàng đợi (Queue) - Bài 2: Hàng đợi (Queue) docx
Hình v ẽ minh họa hàng đợi (Queue) (Trang 5)

TỪ KHÓA LIÊN QUAN

w