首页 > 编程知识 正文

什么是数据结构,优先队列c++实现

时间:2023-05-04 06:38:28 阅读:152091 作者:4211

数据结构:队列的定义及其函数声明:队列满时:(rear+1)%maxsiz=front,少用一个存储空间,也就是数组的最后一个存数空间不用

一些规律:

1 .和堆栈有点相似。 堆栈顶部top为空,队列末尾的指针也为空。

堆栈底部有东西,列首的指针也有东西。

2 .一般来说,列开头以上(包括列开头)、列末尾以下(不包括列末尾)是有数据的。

3.队首队尾每次变化都是+1的循环

队列定义: #define MAXQSIZE 100; typedef int QElemType; typedef struct _ queue { qelemtype * base; int front; int rear; }SqQueue; 初始化队列: voidinitqueue(sqqueue*s ) s-base=(qelemtype * ) malloc ) sizeof ) qelemtype ) * MAXQSIZE ); if (! s-base(exit ) 0; s-front=0; s-rear=0; }入队: voidenqueue(sqqueue*s,QElemType e ) if ) (s-rear1) % MAXQSIZE==s-front ) { printf ) (团队已满); 退出(0; } s-base[s-rear]=e; s-rear=(s-rear1) % MAXQSIZE; )出队: voiddequeue(sqqueue*s,QElemType* e ) if(s-front==s-rear ) exit(0)0); *e=s-base[s-front]; s-front=(s-front1) % MAXQSIZE; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。