导航

全国计算机二级公共基础知识考试重点(二)

环球网校·2020-09-01 14:10:40浏览62 收藏18
摘要 天渐凉,正是备考好时节,准备参加2020年9月全国计算机等级考试的小伙们准备的怎么样了呢?为帮助大家在备考的最后一月各个击破,环球网校小编整理了全国计算机二级公共基础知识考试重点(二),更多计算机二级考试相关信息可关注环球网校计算机二级频道。

全国计算机二级公共基础知识考试重点(二)

循环链表及其基本运算

在线性链表中,虽然对数据元素的插入和删除操作比较简单,但由于它对第一个结点和空表需要单独处理,使得空表与非空表的处理不一致。

循环链表,即是采用另一种链接方式,它的特点如下:

(1)在循环链表中增加一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。

(2)循环链表中最后一个结点的指针域不是空的,而是指向表头结点。在循环链表中,所有结点的指针构成一个环状链。

在循环链表中,只要指出表中任何一个结点的位置,均可以从它开始扫描到所有的结点,而线性链表做不到,线性链表是一种单向的链表,只能按照指针的方向进行扫描。

循环链表中设置了一个表头结点,因此,在任何时候都至少有一个结点,因此空表与非空表的运算相统一。

循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。

【例】在链表上实现将两个线性表(a1,a2,…,an)和(b1,b2,…,bm)连接成一个线性表(a1,…,an,b1,…bm)的运算。

分析:若在单链表或头指针表示的单循环表上做这种链接操作,都需要遍历第一个链表,找到结点an,然后将结点b1链到an的后面,其执行时间是O(n)。

若在尾指针表示的单循环链表上实现,则只需修改指针,无须遍历,其执行时间是O(1)。

相应的算法如下:

LinkListConnect(LinkListA,LinkListB){

//假设A,B为非空循环链表的尾指针

LinkListp=A->next;//①保存A表的头结点位置

A->next=B->next->next;//②B表的开始结点链接到A表尾

free(B->next);//③释放B表的头结点

B->next=p;//④

returnB;//返回新循环链表的尾指针

}

注意:

①循环链表中没有NULL指针。涉及遍历操作时,其终止条件就不再是像非循环链表那样判别p或p->next是否为空,而是判别它们是否等于某一指定指针,如头指针或尾指针等。

②在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。

以上就是全国计算机二级公共基础知识考试重点(二),希望对对备考2020年9月份计算机二级考试的同学有所帮助。此外,大家可通过“ 免费预约短信提醒”及时获知推送2020年全国计算机二级考试信息提醒,确保大家顺利考试!环球网校友情提示:在备战计算机二级考试中,环球网校特地为您准备了计算机二级复习资料,如有需要请点击文章下方“免费下载>>>计算机二级考试资料”下载学习。

展开剩余
资料下载
历年真题
精选课程
老师直播

| 注册 | 电脑版

版权所有©环球网校All Rights Reserved