编写循环顺序队列和链队列头文件
时间: 2024-05-01 20:16:04 浏览: 98
循环顺序队列头文件:
```
#ifndef CIRCULAR_QUEUE_H
#define CIRCULAR_QUEUE_H
#define MAX_QUEUE_SIZE 100
typedef struct {
int data[MAX_QUEUE_SIZE];
int front; // 队头指针
int rear; // 队尾指针
} CircularQueue;
void init_queue(CircularQueue *queue);
int is_empty(CircularQueue *queue);
int is_full(CircularQueue *queue);
int enqueue(CircularQueue *queue, int value);
int dequeue(CircularQueue *queue);
int get_front(CircularQueue *queue);
int get_rear(CircularQueue *queue);
#endif
```
链队列头文件:
```
#ifndef LINKED_QUEUE_H
#define LINKED_QUEUE_H
typedef struct node {
int data;
struct node *next;
} QueueNode;
typedef struct {
QueueNode *front; // 队头指针
QueueNode *rear; // 队尾指针
} LinkedQueue;
void init_queue(LinkedQueue *queue);
int is_empty(LinkedQueue *queue);
int enqueue(LinkedQueue *queue, int value);
int dequeue(LinkedQueue *queue);
int get_front(LinkedQueue *queue);
int get_rear(LinkedQueue *queue);
#endif
```
阅读全文