您现在的位置: 查字典公务员网 >国企招聘 >备考资料 >国家电网 >国家电网考试备考资料:计算机之数据结构与算法(二)
北京 上海 山东 江苏 浙江 安徽 吉林 福建 广东 广西 海南 天津 河北 黑龙江 山西 甘肃 湖北 湖南 河南 四川 重庆 云南 贵州 西藏 宁夏 新疆 青海 陕西 辽宁 江西 内蒙古

国家电网考试备考资料:计算机之数据结构与算法(二)

2015-07-22 | 网络

国企专题 | 国企 最新招聘公告 | 国企备考资料

3.队列 (Queue)

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

顺序队列

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

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

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

国家电网考试备考资料:计算机之数据结构与算法(二)2

注意:空队时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 //进队

T DeQue(); //出队

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

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

{

front=rear=0;

}

};

4.链表 (Linked List)

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

基本操作(pascal语言)

建立

第一行读入n,表示n个数

第二行包括n个数

以链表的形式存储输出这些数

国家电网考试备考资料:计算机之数据结构与算法(二)3 国家电网考试备考资料:计算机之数据结构与算法(二)4

在以z为头的链表中搜索第一个n,如果找到则删去,返回值为1,否则返回0

国家电网考试备考资料:计算机之数据结构与算法(二)5

查找

类似于删除,只需要找到不删即可

插入

插入,在以zz为头的链表第w个的前面插入nn元素,函数返回值正常是0,如果w超过了链表的长度,函数返回链表的长度

国家电网考试备考资料:计算机之数据结构与算法(二)6

【国家电网考试备考资料:计算机之数据结构与算法(二)】相关文章:

公考每周资讯速递习题(第四十九期)

2017省考行测备考:元素分配学的好 排列组合无烦恼

公考资讯每周速递习题(第十期)

2017省考行测备考好方法:方程法

公考每周资讯速递习题(第五十二期)

2017国家公务员考试资格审查注意事项

2017国家公务员考试入门篇:国家公务员享有哪些权利

公考每周资讯速递习题(第三十八期)

四川公务员考试《行政能力能力测验模拟卷一》

国家公务员考试面试测评要素解读

网友关注
网友关注视频

行测 申论 面试

考试技巧

精彩在线