#include<iostream> using namespace std; #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0 #define MAXSIZE 10 typedef int status;//返回的状态值 typedef int elemtype;//数据的类型 //数据结构 typedef struct queue_list { elemtype data[MAXSIZE];//队列里的元素 int rear;//尾的元素的坐标 int front;//头的元素的坐标 }queue_list; //初始化一个空的队列 status init_quelist(queue_list *L) { L->front=0; L->rear=0; return OK; } //求队列的长度 int length_quelist(queue_list L) { return (L.rear-L.front+MAXSIZE)%MAXSIZE;//计算队列的长度 } //循环队列的入队列操作 status In_quelist(queue_list *L,elemtype e) { if((L->rear+1)%MAXSIZE==L->front) return ERROR; L->data[L->rear]=e; L->rear=(L->rear+1)%MAXSIZE;//若本来rear在数组的最后,再移一位则转到了数组最前 return OK; } //循环队列的出队操作 status ou_quelist(queue_list *L,elemtype &e) { if(L->front==L->rear) return ERROR; e=L->data[L->front];//若本来front在数组的最后,再移一位则转到了数组最前 L->front+=1; return OK; } int main() { system("pause"); return 1; }
时间: 2024-10-16 00:04:41