为什么80%的码农都做不了架构师?>>>
实验项目4:队列的入队与出队。
1、实验目的
(1)了解普通顺序队的基本运算。
(2)掌握循环队列的入队及出队算法。
2、实验内容
利用循环队列的内容,实现队列的EnQueue与DeQueue算法。
#include
#define MAX_SIZE 100
typedef int QElemType;
typedef int Status;
typedef struct {QElemType *base;int front;int rear;
}SqQueue;
/**
* Initialization of queues
*/
Status InitQueue(SqQueue &Q){Q.base &#61; new QElemType[MAX_SIZE];if(!Q.base){cout<<"分配数组失败";return -1;}Q.front &#61; Q.rear &#61; 0;return 1;
}
/**
* Enter queues
*/
Status EnQueue(SqQueue &Q,QElemType e){if((Q.rear&#43;1)%MAX_SIZE&#61;&#61;Q.front){cout<<"queue full!"<
/**
* return queues length
*/
int QueueLnegth(SqQueue Q){return (Q.rear-Q.front&#43;MAX_SIZE)%MAX_SIZE;
}
/**
* Quit queues
*/
Status DeQueue(SqQueue &Q,QElemType &e){if((Q.front&#61;&#61;Q.rear)){return -1;}e &#61; Q.base[Q.front];Q.front &#61; (Q.front&#43;1)%MAX_SIZE;return 1;
}void displayQueue(SqQueue &Q){for(int i&#61;Q.front;i
{SqQueue Q1;InitQueue(Q1);int a;for(int i&#61;0;i<10;i&#43;&#43;)EnQueue(Q1,i&#43;1);DeQueue(Q1,a);displayQueue(Q1);return 0;
}