正在加载图片...
InitQueue(&que) /*队列que初始化*/ EnQueue(&que, 1) /*元素1进队列*/ /*元素2进队列*/ EnQueue(&que, 3) /*元素3进队列* DeQueue(&que,&elem); printf("%d",elem);/*1出队列*/ De Queue(&que,&elem); printf("%d",elem);/*2出队列*/ DeQueue(&que,&elem); printf("%d",eem);/*3出队列*/ DeQueue(&que, &elem): printf (%d", elem) /*队列已空,由于未检查返回结果,取出的还是3,产生错误*/ 5.顺序队列 #define MAXQSIZE 100 /*首次分配连续存储单元的大小,可存储 MAXQSIZE个元素*/ typedef int elemType typedef struct sqlist ElemType*base;/*连续存储单元首地址*/ int front /*队列头指针,若队列不空,指向队头元素*/ Int rear /*队列尾指针,若队列不空,指向队尾元素的下一个位置* 1 SqQueue /* Sqqueue为结构类型,用其说明的变量在程序中作为队列*/ /率容率本本*本******本**********率幸春幸率幸** 功能:初始化队列 六输入:队列对象S的指针 输出:成功时返回OK 水本水*客水水水*涂 int Init Queue(sqQueue *Q) Q->base=(Elem Type *)malloc(MAXQSIZE*sizeof(ElemType)) if (!Q->base) exit(OVERFLOW) ear return OK 功能:进队列操作 输入:队列对象Q的指针,数据元素e 输出:成功时返回OK *幸*本**幸幸**率幸***率本*率***/ int En Queue (SqQueue *Q, Elem T ype e)InitQueue(&que); /*队列que初始化*/ EnQueue(&que,1); /*元素1进队列*/ EnQueue(&que,2); /*元素2进队列*/ EnQueue(&que,3); /*元素3进队列*/ DeQueue(&que,&elem); printf("%d",elem); /*1 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*2 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*3 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*队列已空,由于未检查返回结果,取出的还是3,产生错误*/ } 5.顺序队列 #define MAXQSIZE 100 /*首次分配连续存储单元的大小,可存储MAXQSIZE个元素*/ typedef int ElemType; typedef struct SqList { ElemType *base; /*连续存储单元首地址*/ int front; /*队列头指针,若队列不空,指向队头元素*/ int rear; /*队列尾指针,若队列不空,指向队尾元素的下一个位置*/ } SqQueue; /*SqQueue为结构类型,用其说明的变量在程序中作为队列*/ /********************************************************** ** 功能:初始化队列 ** ** 输入:队列对象 S 的指针 ** ** 输出: 成功时返回 OK ** **********************************************************/ int InitQueue(SqQueue *Q) { Q->base=(ElemType *) malloc(MAXQSIZE*sizeof(ElemType)); if (!Q->base) exit(OVERFLOW); Q->front=Q->rear=0; return OK; } /********************************************************** ** 功能:进队列操作 ** ** 输入:队列对象 Q 的指针,数据元素 e ** ** 输出: 成功时返回 OK ** **********************************************************/ int EnQueue(SqQueue *Q,ElemType e) {
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有