全文预览

数据结构知识点全面总结—精华版

上传者:科技星球 |  格式:doc  |  页数:30 |  大小:971KB

文档介绍
N (N=maxsize)Р队列长度(即数据元素个数):L=(N+rear-front)% N Р初始化一个空队列РStatus InitQueue ( SqQueue &q ) //初始化空循环队列 qР{ Рq . base=(QElemType *)malloc(sizeof(QElemType)Р* QUEUE_MAXSIZE); //分配空间Рif (!q.base) exit(OVERFLOW);//内存分配失败,退出程序Р q.front =q.rear=0; //置空队列Р return OK;Р } //InitQueue;Р入队操作РStatus EnQueue(SqQueue &q, QElemType e)Р{//向循环队列 q 的队尾加入一个元素 eР if ( (q.rear+1) % QUEUE_MAXSIZE = = q.front ) Р return ERROR ; //队满则上溢,无法再入队Р q.rear = ( q . rear + 1 ) % QUEUE_MAXSIZE; Р q.base [ q.rear ] = e; //新元素e入队Р return OK;Р }// EnQueue;Р出队操作РStatus DeQueue ( SqQueue &q, QElemType &e)Р {//若队列不空,删除循环队列q的队头元素,Р //由 e 返回其值,并返回OKР if ( q.front = = q.rear ) return ERROR;//队列空Р q.front=(q.front+1) % QUEUE_MAXSIZE ; Р e = q.base [ q.front ] ;Р return OK;Р }// DeQueueР◆链队列空的条件是首尾指针相等,而循环队列满的条件的判定,则有队尾加1等于队头和设标记两种方法。

收藏

分享

举报
下载此文档