Ví dụ xử lý QUEUE (hàng đợi)
- Tạo queue
- Nhập xuất queue
[Code Tubor C/C++]
#include <stdio.h>
#define MAX 100
int queue[MAX + 1];
int front, rear, queue_size;
//khởi tạo hàng đợi
void khoi_tao_queue()
{
front = rear = 0;
queue_size = 0;
}
// kiểm tra hàng đợi rỗng
int is_empty()
{
return (queue_size == 0);
}
// kiểm tra hàng đợi đầy
int is_full()
{
return (queue_size == MAX);
}
// Đẩy phần tử vào Queue
int push(int value)
{
if (queue_size < MAX)
{
queue_size++;
queue[rear++] = value;
if (rear == MAX)
rear = 0;
}
return rear;
}
// lây phần tử
int pop(int *value)
{
if (queue_size > 0)
{
*value = queue[front++];
if (front > MAX)
front = 0;
queue_size--;
}
return front;
}
//
void main()
{
int k;
khoi_tao_queue();
printf("\nNhap cac phan tu vao queue (-1 de ket thuc) : ");
do {
scanf("%d", &k);
if (k != -1)
push(k);
} while (k != -1 && !is_full());
printf("\n\nLay cac phan tu tu queue ra : ");
while (!is_empty())
{
pop(&k);
printf("%d ", k);
}
getch();
}
Một số tài liệu và khoá học bổ ích dành cho bạn:
# Giáo Trình: Kỹ Thuật Lập Trình C/C++ Căn Bản Và Nâng Cao [Click để xem]
# Khoá học online: Học lập trình C/C++ TỪ A - Z [Click để xem]