[C\C++] Ví dự về QUEUE (sử dụng mảng tĩnh) [Dữ liệu kiểu Hàng đợi]

Cài đặt hàng đợi (Queue)
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();
}

0 nhận xét:

Cảm ơn bạn đã quan tâm tới bài viết này!