顺序队
来源:互联网 发布:淘宝欠款 编辑:程序博客网 时间:2024/04/26 12:09
#include <stdio.h>
#define MAXSIZE 6 //设置队列的最大长度为100
typedef int ElemType ;
typedef struct{
ElemType elem[MAXSIZE];
/*定义一个一维数组存放队列中各元素,元素类型ElemType根据实际需要确定*/
int front; /*头指针,指向队头元素*/
int rear; /*尾指针,指向队尾元素的下一个位置*/
int len; /*存放队中元素个数,即队列的实际长度*/
}SqQueue;
void InitQueue (SqQueue *q)
{q->front=q->rear=0; q->len=0;}
int QueueEmpty (SqQueue q)
{if (q.len==0) return 1;
else return 0;
}
void EnQueue (SqQueue *q, ElemType e)
{if (q->len==MAXSIZE) //判队满
printf ("Queue is full/n");
else
{q->elem [q->rear]=e;
q->rear=(q->rear+1)%MAXSIZE;
q->len++;}
}
void DeQueue (SqQueue *q, ElemType *e)
{if (q->len==0) //判队空
printf ("Queue is empty/n");
else
{*e=q->elem [q->front];
q->front=(q->front+1)%MAXSIZE;
q->len--;}
}
void GetHead (SqQueue q, ElemType *e)
{if (q.len==0) //判队空
printf ("Queue is empty/n");
else
*e=q.elem [q.front];
}
int main(int argc, char *argv[])
{
SqQueue q;
ElemType x;
InitQueue(&q);
EnQueue(&q,1);
EnQueue(&q,2);
EnQueue(&q,3);
EnQueue(&q,4);
DeQueue(&q,&x);
printf("%d ",x);
DeQueue(&q,&x);
printf("%d ",x);
EnQueue(&q,5);
EnQueue(&q,6);
EnQueue(&q,7);
EnQueue(&q,8);
EnQueue(&q,9);
EnQueue(&q,10);
return 0;
}
#define MAXSIZE 6 //设置队列的最大长度为100
typedef int ElemType ;
typedef struct{
ElemType elem[MAXSIZE];
/*定义一个一维数组存放队列中各元素,元素类型ElemType根据实际需要确定*/
int front; /*头指针,指向队头元素*/
int rear; /*尾指针,指向队尾元素的下一个位置*/
int len; /*存放队中元素个数,即队列的实际长度*/
}SqQueue;
void InitQueue (SqQueue *q)
{q->front=q->rear=0; q->len=0;}
int QueueEmpty (SqQueue q)
{if (q.len==0) return 1;
else return 0;
}
void EnQueue (SqQueue *q, ElemType e)
{if (q->len==MAXSIZE) //判队满
printf ("Queue is full/n");
else
{q->elem [q->rear]=e;
q->rear=(q->rear+1)%MAXSIZE;
q->len++;}
}
void DeQueue (SqQueue *q, ElemType *e)
{if (q->len==0) //判队空
printf ("Queue is empty/n");
else
{*e=q->elem [q->front];
q->front=(q->front+1)%MAXSIZE;
q->len--;}
}
void GetHead (SqQueue q, ElemType *e)
{if (q.len==0) //判队空
printf ("Queue is empty/n");
else
*e=q.elem [q.front];
}
int main(int argc, char *argv[])
{
SqQueue q;
ElemType x;
InitQueue(&q);
EnQueue(&q,1);
EnQueue(&q,2);
EnQueue(&q,3);
EnQueue(&q,4);
DeQueue(&q,&x);
printf("%d ",x);
DeQueue(&q,&x);
printf("%d ",x);
EnQueue(&q,5);
EnQueue(&q,6);
EnQueue(&q,7);
EnQueue(&q,8);
EnQueue(&q,9);
EnQueue(&q,10);
return 0;
}
- 顺序队
- 顺序队
- 顺序队
- 队的顺序实现
- 转:顺序队
- 顺序队实现
- 顺序
- 顺序
- 顺序栈、链栈、顺序队和链队小结
- 约瑟夫环:出队顺序
- 数据结构——顺序队
- 数据结构C语言顺序队
- 链表,顺序表,链队,链栈,顺序队,顺序栈,二叉树的基本操作函数
- 顺序队列的创建、入队、出队
- 数据结构-循环顺序队(C语言)
- 队列之顺序队基本操作
- 数据结构学习心得——顺序队和链队
- 顺序队中实现队列的基本运算
- 反射
- 继承中的成员方法和变量
- 在Global中Application_Error事件处理错误信息
- (转)堆栈与函数调用
- NHibernate Step by Step (五)Criteria Query
- 顺序队
- [翻译].NET委托:一个C#睡前故事
- linux下opera的字体完美解决办法
- 解决Cross-thread operation not valid的问题
- 链队
- 栈
- struts2中namespace的用法
- 稀疏矩阵
- 作用域修饰符