中公国企 重庆国企

 
您现在的位置:首页 >电力电网 > 备考指导 >

2021国家电网一批招聘:备考资料计算机之数据结构与算法(二)

2020-07-28 09:55:11 | 来源:重庆中公教育

3.队列 (Queue)

一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。

顺序队列

空队时指针(下标)front和rear在一起都指向队前方,当有元素进队,则rear后移;有元

素出队,则front后移,最后,开始时分配给队的前端不再被利用。

为了充分利用队列,顺序队列总是做成一个逻辑上的循环队列。

 

注意:空队时rear等于front,满队时必须空一个位置。

顺序循环队列类模板

templateclass Queue

{

int rear,front; //队尾与队头下标

T *elements; //存放队列元素的容器

int maxSize; //队列最多可容纳元素个数+1

public:

Queue(int ms=18);

~Queue()

{

delete[] elements;

}

bool IsEmpty() const //判队空

{

return front==rear;

}

bool IsFull() const //判队满

{

return (rear+1)%maxSize==front;

}

int Length() const //求队中元素数,注意求余算法

{

return (rear-front+maxSize)%maxSize;

}

void EnQue(const T &data); //进队

T DeQue(); //出队

T GetFront(); //取队头数据

void MakeEmpty()//队置空(初始态)

{

front=rear=0;

}

};

4.链表 (Linked List)

是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

免责声明:本站所提供试题均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用,不涉及商业盈利目的。如涉及版权问题,请联系本站管理员予以更改或删除。
中公教育   重庆中公教育

重庆国企招聘考试(cqgqzp)

立即关注
  • 热门招聘每日更新
  • 备考干货关注查看
  • 实时互动在线咨询
中公微博 关注微博 关注
中公QQ群 加入QQ群 加入
  • 近期招考
  • 报名时间
  • 考试公告
Copyright©1999- 北京中公教育科技有限公司 .All Rights Reserved
全国统一报名专线:400-6300-999 网校报名:400-900-8885 图书订购:400-6509-705
京ICP备10218183号 京ICP证161188号 京公网安备 11010802020593号 出版物经营许可证新出发京批字第直130052号 营业执照