关于数据结构的问题,说的是顺序循环队列,设顺序双向循环队列的数据结构定义为:typedef struct{DataType list[MaxSize]int front; //队头指针int rear; //队尾指针}BSeqCQueue;设Q为BSeqCQueue类型的指针参数(
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 18:28:12
![关于数据结构的问题,说的是顺序循环队列,设顺序双向循环队列的数据结构定义为:typedef struct{DataType list[MaxSize]int front; //队头指针int rear; //队尾指针}BSeqCQueue;设Q为BSeqCQueue类型的指针参数(](/uploads/image/z/3689317-37-7.jpg?t=%E5%85%B3%E4%BA%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%9A%84%E9%97%AE%E9%A2%98%2C%E8%AF%B4%E7%9A%84%E6%98%AF%E9%A1%BA%E5%BA%8F%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%2C%E8%AE%BE%E9%A1%BA%E5%BA%8F%E5%8F%8C%E5%90%91%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%AE%9A%E4%B9%89%E4%B8%BA%EF%BC%9Atypedef+struct%7BDataType+list%5BMaxSize%5Dint+front%3B+%2F%2F%E9%98%9F%E5%A4%B4%E6%8C%87%E9%92%88int+rear%3B+%2F%2F%E9%98%9F%E5%B0%BE%E6%8C%87%E9%92%88%7DBSeqCQueue%3B%E8%AE%BEQ%E4%B8%BABSeqCQueue%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%8C%87%E9%92%88%E5%8F%82%E6%95%B0%EF%BC%88)
关于数据结构的问题,说的是顺序循环队列,设顺序双向循环队列的数据结构定义为:typedef struct{DataType list[MaxSize]int front; //队头指针int rear; //队尾指针}BSeqCQueue;设Q为BSeqCQueue类型的指针参数(
关于数据结构的问题,说的是顺序循环队列,
设顺序双向循环队列的数据结构定义为:
typedef struct
{
DataType list[MaxSize]
int front; //队头指针
int rear; //队尾指针
}BSeqCQueue;
设Q为BSeqCQueue类型的指针参数(即输出型参数),并设初始化操作时有:Q->rear=
Q->front=0,现要求:
给出顺序双向循环队列的入队列操作和出队列操作算法思想.
要程序,能放进C里面运行的,
关于数据结构的问题,说的是顺序循环队列,设顺序双向循环队列的数据结构定义为:typedef struct{DataType list[MaxSize]int front; //队头指针int rear; //队尾指针}BSeqCQueue;设Q为BSeqCQueue类型的指针参数(
#include
#include
#ifndef DataType
#define DataType int
#endif
#ifndef MaxSize
#define MaxSize 5
#endif
typedef struct {
DataType list[MaxSize];
int front; //队头指针
int rear; //队尾指针
}BSeqCQueue;
int in_queue(BSeqCQueue *q,DataType *d)
{
if ((q->rear+1)%MaxSize!=q->front) {
q->list[q->rear] = *d;
q->rear = (q->rear+1)%(MaxSize);
return 0;
}
else return 1;
}
int out_queue(BSeqCQueue *q,DataType *d)
{
if (q->front!=q->rear) {
*d = q->list[q->front];
q->front = (q->front+1)%MaxSize;
return 0;
}
return 1;
}
int main()
{
BSeqCQueue *Q = new(BSeqCQueue);
memset(Q,0,sizeof(*Q));//初始化操作时有:Q->rear=Q->front=0,
int i;
for (i=0; i