数据结构之线性表与栈和队列.docx

上传人:b****6 文档编号:6681751 上传时间:2023-01-08 格式:DOCX 页数:9 大小:547.76KB
下载 相关 举报
数据结构之线性表与栈和队列.docx_第1页
第1页 / 共9页
数据结构之线性表与栈和队列.docx_第2页
第2页 / 共9页
数据结构之线性表与栈和队列.docx_第3页
第3页 / 共9页
数据结构之线性表与栈和队列.docx_第4页
第4页 / 共9页
数据结构之线性表与栈和队列.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据结构之线性表与栈和队列.docx

《数据结构之线性表与栈和队列.docx》由会员分享,可在线阅读,更多相关《数据结构之线性表与栈和队列.docx(9页珍藏版)》请在冰豆网上搜索。

数据结构之线性表与栈和队列.docx

数据结构之线性表与栈和队列

一.顺序表:

1.简要写出在第i个位置插入一个新元素算法思想:

分析:

即在第i-1个元素和第i个元素之间插入

插入的步骤:

将第i个元素之后的所有元素后移;将新的元素放置在第i个位置

如图:

2.简要写出删除线性表中的第i个元素的算法思想:

分析:

即把第i个元素之后的所有元素往前移,也就是第i+1个元素覆盖掉第i个元素,之后的元素前移

如图:

有关线性表例题:

*在一个长度为n的顺序表(顺序存储的线性表)中,向第i个元素(1<=i<=n+1)之前插入一个新元素时,需后移_____个元素。

A.n-iB.n-i+1C.n-i-1D.i

答案:

B

2.链表:

1.线性链表:

①简要写出在第i个节点之前插入一个元素e的算法思想

建立一个新的节点p,用来存储要插入数据的信息,然后找到位置i-1,判断能否找到情况。

插入过程如图:

②简要写出删除位置i处的元素的算法思想

首先查找位置i,判断能否找到。

删除过程为,先找到i-1处节点p,然后将节点p与位置i后的节点相连接。

如图:

有关链表例题:

*简要写出将两个有序链表归并为一个新的有序链表的算法思想

分析:

通过比较,Pb->data(5)比Pa->data(4)大,Pa、P后移;然后比较:

pb->data(5)比p->data(4)大,pb->data(5)比pa->data(6)小。

此时,把5插入到4和6之间,在插入之前,需先用一个指针指向5,如果没有指向,直接把5插入到4和6之间,则会找不到Lb中的其他元素。

过程如图:

2.循环链表

如图:

①:

写出判断表尾的条件:

p->next=H

②:

写出判断空表的条件:

H->next=H

3.双向链表:

简要写出在第i个节点插入新元素e的算法思想。

首先找到第i个节点:

while(p&&jnext;++j;}

插入过程如图:

 

三、栈和队列

例题:

1.栈的插入和删除在______进行。

A.栈顶B.栈底C.任意位置D.指定位置

2.将整数1、2、3、4、5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能是_____。

A.23415B.54132C.23145D.15432

3.在一个链队列中,若f,s分别为队首、队尾指针,则插入s所指节点的操作为______。

A.f->next=s;f=s;

B.r->next=s;r=s;

C.S->next=r;r=s;

D.s->next=f;f=s;

4.最大容量为n的循环队列,约定队尾指针是rear,指向队尾元素的下一个位置;队头指针指向队头元素,则队满的条件是_____。

A.(rear+1)%n=front

B.rear=front

C.rear+1=front

D.(rear-1)%n=front

答案:

1.A2.B3.B4.A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1