顺序队中实现队列的基本运算
2017-11-01 20:17
246 查看
【代码】//文件名:sqqueue.cpp
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef int ElemType;
typedef struct
{ ElemType data[MaxSize];
int front,rear;
} SqQueue;
void InitQueue(SqQueue *&q) //初始化队
{ q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=-1; //这里和环形队不同
}
void DestroyQueue(SqQueue *q) //销毁队
{ free(q);
}
bool QueueEmpty(SqQueue *q) //判断队是否为空
{ return q->front==q->rear;
}
bool EnQueue(SqQueue *q,ElemType e) //进队
{ if(q->rear==MaxSize-1)//
return false;//
q->rear++;//
q->data[q->rear]=e;
return true;
}
bool DeQueue(SqQueue *q,ElemType &e) //出队
{ if(q->front==q->rear)//
return false;
q->front++;
e=q->data[q->front];
return true;
}
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef int ElemType;
typedef struct
{ ElemType data[MaxSize];
int front,rear;
} SqQueue;
void InitQueue(SqQueue *&q) //初始化队
{ q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=-1; //这里和环形队不同
}
void DestroyQueue(SqQueue *q) //销毁队
{ free(q);
}
bool QueueEmpty(SqQueue *q) //判断队是否为空
{ return q->front==q->rear;
}
bool EnQueue(SqQueue *q,ElemType e) //进队
{ if(q->rear==MaxSize-1)//
return false;//
q->rear++;//
q->data[q->rear]=e;
return true;
}
bool DeQueue(SqQueue *q,ElemType &e) //出队
{ if(q->front==q->rear)//
return false;
q->front++;
e=q->data[q->front];
return true;
}
相关文章推荐
- 顺序队中实现队列的基本运算
- 实现循环队列基本运算
- 编写一个一个程序实现链队列各项基本运算(假设队列基本元素类型为Char)
- 环形队列中实现队列的基本运算
- 数据结构 - 栈和队列的基本运算实现
- 链队列基本运算的实现
- 实现环形队列各种基本运算的算法(用顺序结构)
- 链队列基本运算的实现
- 编写一个程序,实现顺序环形队列的各种基本运算。
- 实现顺序队列各种基本运算的算法
- 栈和队列的基本运算实现
- 队列的基本运算实现
- 实现顺序队列各种基本运算的算法
- 队列的顺序存储结构及其基本运算的实现
- 队列的顺序存储结构及其基本运算的实现
- 环形队列的基本运算实现
- 队列的顺序存储结构及其基本运算的实现
- 环形队中实现队列的基本运算
- 环形队中实现队列的基本运算
- 环形队中实现队列的基本运算