在不带头结点的循环单链表头结点L中,至少有一个结点的条件是 ,尾结点p的条件是

已知带头结点的单链表L,指针P指向L链表中的一个结点为(非首结点、非尾结点),_百度知道
已知带头结点的单链表L,指针P指向L链表中的一个结点为(非首结点、非尾结点),
删除P结点的直接后继结点的语句是&&&&&&&&&&&&&&&&&&&&& ;
(2)删除P结点的直接前驱结点的语句序列是&&&&&&&n...
我有更好的答案
P-&next = Q;
P-&next = Q-&
R-&next = Q;
Q-&next = P;
R-&next = P;
Q-&next = P;
Q-&next = P-&
free(p);5.
while(s-&next)
p-&next = NULL;
采纳率:48%
题目没写清楚,不完整,不好回答
为您推荐:
其他类似问题
单链表的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。当前位置: >>
第2章 线性表
第 2 章 线性表一、选择题1.带头结点的单链表 h 为空的判断条件是( ) 。 A. h== NULL B. h-&next==h C. h-&next==NULL D. h!=NULL 2.表长为 n 的顺序表, 当在任何位置上删除一个元素的概率相等时, 删除一个元素需 要移动元素的平均个数为( ) 。 A. n/2 B.(n+1)/2 C.(n-2)/2 D.(n-1)/2 3.指针 p 所指的结点是双向循环链表 L 的尾结点的条件是( ① ) ;若队列采用 链式存储结构,则该链式队列( ② ) 。 ① A. p==L B. p-&next==NULL C. p-&next== L D. p-&prior==L ② A.存在队满的情况 B.不存在队空的情况 C.入队之前必须判断队满否 D.出队之前必须判断队空否 4.在一个单链表中,删除结点 p 的后继结点的语句序列为( ) 。 A. p-&next= p-&next-& B. p= p-& p-&next= p-&next-& C. p-&next=p-& D. p=p-&next-& 5.静态链表中指针表示的是( ) 。 A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址 6.链表不具有的特点是( ) 。 A.插入、删除不需要移动元素 B.不必事先估计存储空间 C.可随机访问任一元素 D.所需空间与线性表长度成正比 7.在非空双向循环链表中 q 所指的结点之前插入一个由 p 所指的结点的语句序列为 p- &next=q; p-&prior=q-& q-&prior=p; ( ) 。 A. p-&prior-&next= B. q-&prior-&next=p; C. q-&next=p; D. p-&next-&next=p; 8.线性表是( )。 A.一个有限序列,可以为空 B.一个有限序列,不能为空 C.一个无限序列,可以为空 D.一个无限序列,不能为空 9.对顺序存储的线性表, 设其长度为 n, 在任何位置上插入或删除操作都是等概率的, 插入一个元素时平均要移动表中的( )个元素。 A. n/2 B. (n+1)/2 C. (n-1)/2 D. n 10.线性表采用链式存储时,其地址( )。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续与否均可以 11.用链表表示线性表的优点是( )。 A.便于随机存取 B.花费的存储空间较顺序存储少1 C.便于插入和删除 D.数据元素的物理顺序与逻辑顺序相同 12.链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素, 则采用( )存储方式最节省运算时间。 (设立尾指针) A.单链表 B.双链表 C.单循环链表 D.带头结点的双向循环链表 13.下面关于线性表的叙述错误的是( )。 A.线性表采用顺序存储,必须占用一片地址连续的单元 B.线性表采用顺序存储,便于进行插入和删除操作 C.线性表采用链式存储,不必占用一片地址连续的单元 D.线性表采用链式存储,便于进行插入和删除操作 14.单链表中,增加一个头结点的目的是为了( )。 A.使单链表至少有一个结点 B.标识表结点中首结点的位置 C.方便运算的实现 D.说明单链表是线性表的链式存储 15.在单链表指针为 p 的结点之后插入指针为 s 的结点,正确的操作是( )。 A. p-&next = s-&next = p-& B. s-&next = p-& p-&next = C. p-&next = p-&next = s-& D. p-&next = s-& p-&next = 16.在双向链表存储结构中,删除 p 所指的结点时须修改指针( )。 A. (p-&prior)-&next = p-& (p-&next)-&prior = p-& B. p-&prior = (p-&prior)-& (p-&prior)-&next = C. (p-&next)-&prior =p; p-&prior = (p-&next)-& D. p-&next = (p-&prior)-& p-&prior = (p-&next)-&next 17.完成在双向循环链表结点 p 之后插入 s 的操作是( )。 A. p-&next = s-&prior = p-&next-&prior = s-&next = p-& B. p-&next-&prior =s; p-&next = s-&prior = s-&next = p-& C. s-&prior = s-&next = p-& p-&next = p-&next-&prior = D. s-&prior = s-&next = p-& p-&next-&prior =s; p-&next = 18.若某线性表中最常用的操作是取第 i 个元素和找第 i 个元素的前驱元素,则采用 ( )存储方式最节省运算时间。 A.单链表 B.顺序表 C.双向链表 D.单循环链表 19.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元 素,则采用( )存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C.双向链表 D.仅有尾指针的单循环链表 20.在一个长度为 n 的顺序表中向第 i 个元素(1≤i≤n+1)之前插入一个新元素时,需 要向后移动( )个元素。 A. n-i B. n-i+1 C.n-i-1 D.i 21.在线性表的下列存储结构中,读取指定序号的元素花费时间最少的是( ) 。 A.单链表 B.双链表 C.循环链表 D.顺序表 22.对于用一维数组 d[1…n]顺序存储的线性表, 其算法的时间复杂度为 O(1)的操作是2 () 。 A.将 n 个元素从小到大排序 B.从线性表中删除第 i 个元素(l≤i≤n) C.查找第 i 个元素(l≤i≤n) D.向线性表中第 i 个元素之后插入一个元素 23.在一个具有 n 个结点的有序单链表中插入一个新结点使得仍然有序,其算法的时 间复杂度为( ) 。 A.O(log2n) B.O(1) C.O(n2) D.O(n) 24.在一个双链表中,删除*p 结点之后的一个结点的操作是( ) 。 A. p-&next=p-&next-& p-&next-&next-&prior=p B. p-&next-&prior=p; p-&next=p-&next-& C. p-&next=p-&next-& p-&next-&prior=p D. p-&next-&next=p-& p-&next-&prior= 24.在不带头结点(首结点为*head)的单循环链表中,至少有一个结点的条件是 ( ① )尾结点*p 的条件是( ② ) 。 A. head !=NULL B. head-& next != head C. p==NULL D. p-&next==head二、判断题1.一个循环链表可以由给定的头指针或者尾指针唯一地确定。 ( ) 2.所谓静态链表就是一直不发生任何变化的链表。 ( ) 3.循环链表不是线性表。 ( ) 4.线性表的逻辑顺序与存储顺序总是一致的。( ) 5.顺序存储的线性表可以按序号随机存取。( ) 6.顺序表的插入和删除操作不需要付出很大的时间代价, 因为每次操作平均只有近一 半的元素需要移动。( ) 7.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性, 因此属于同一数据对象。( ) 8.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。 ( ) 9.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。( ) 10.线性表的链式存储结构优于顺序存储结构。( ) 11.在线性表的顺序存储结构中, 插入和删除时移动元素的个数与该元素的位置有关。 ( ) 12.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。 ( ) 13.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随 机存取的存储结构。( ) 14.静态链表既有顺序存储的优点,又有动态链表的优点。所以它存取表中第 i 个元 素的时间与 i 无关。( ) 15.线性表的特点是每个元素都有一个前驱和一个后继。( )3 16.分配给单链表的内存单元地址必须是连续的。 ( ) 17.与顺序表相比,在链表中顺序访问所有结点,其算法的效率比较低。 ( ) 18.从长度为 n 的顺序表中删除任何一个元素,时间复杂度都是 O(n)。 ( ) 19.向顺序表中插入一个元素,平均要移动大约一半的元素。 ( ) 20.凡是为空的单链表都是不含任何结点的。 ( ) 21.如果单链表带有头结点,则插入操作永远不会改变头结点指针的值。 ( ) 22.在循环单链表中,任何一个结点的指针域都不可能为空。 ( ) 23.顺序存储方式的优点是存储密度大且插入、删除运算效率高。 ( ) 错误。顺序存储方式的特点是存储密度大但插入、删除运算效率低。 ( ) 24.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活。 ( ) 25.对于单链表来说,只有从头结点开始才能扫描表中全部结点。 ( ) 26.对于循环单链表来说,从表中任一结点出发都能扫描整个链表。 ( ) 27.双链表的特点是很容易找任一结点的前驱和后继。 ( )三、填空题1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速 存储结构。 度存取线性表中的元素时,该线性表应采用 2.带头结点的双循环链表 L 中只有一个元素结点的条件是 。 3. 已 知 指 针 p 指 向 单 链 表 L 中 的 某 结 点 , 则 删 除 其 后 继 结 点 的 语 句 序 列 是: ; ; 。 4.根据线性链表中结点所包含的指针个数,链表可分成 和 ;而 和 。 根据指针的连接方式,链表又可分成 5.在线性表的顺序存储中,元素之间的逻辑关系是通过 决定的;在 线性表的链式存储中,元素之间的逻辑关系是通过 决定的。 。 6.带头结点的单链表 head 为空的判定条件是 7.在一个双链表 dhead 中,若要在*p 结点之前插入一个结点*s,则执行的运算是 。 8.对于一个具有 n 个结点的单链表,在已知的结点*p 后插入一个新结点的时间复杂 度为 ,在 data 值为 x 的结点后插入一个新结点的时间复杂度为 。 9.在有 n 个元素的顺序表中删除任意一个元素所需移动元素的平均次数为 。 10.在有 n 个元素的顺序表中任意位置插入一个元素所需移动元素的平均次数 为 。四、简答题1.试描述头指针和头结点的区别,并说明头指针和头结点的作用。 2.若频繁地对一个线性表进行插入和删除操作, 该线性表宜采用何种存储结构?为什 么? 3.下面的算法实现对不带头结点的单链表进行就地逆置,并用 L 返回逆置后的链表 的头指针,请在空缺处填入相应的语句。4 void reverse(LinkList L) { p=NULL; q=L; while(q!=NULL) { ① ; q-&next=p; p=q; ② ; } ③ ; } 4.一个线性表存储在带头结点的双向循环链表中, 为头指针。 H 下面给出的算法的功 能为将双向循环链表结点的数据域按值自小到大排序,成为非递减(可能包括数据域值 相等的结点)有序双向循环链表,在空缺处填写相应的语句。 void fun(DLinkList H) { …… p=H-& q=p-& r=q-& while (q!=H) { while (p!=H) && (p-&data&q-&data) p=p-& q-&prior-&next=r; ① ; q-&next= p-& q-&prior =p; ② ; ; ③ q=r; p=q-& ; ④ } 5.叙述线性表两种存储结构各自的主要特点。 6.线性表有两种存储结构:一是顺序表,二是链表,试问: (1)如果有多个线性表同时共存,并且在处理过程中各表的长度会动态地发生变化, 线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构?为什么? (2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线 性表中的元素,那么应采用哪种存取结构?为什么? 7.在线性表的如下链式存储结构中, 若未知链表头结点的指针, 仅已知 p 指针指向的 结点,能否从中删除该结点?为什么?5 (1)单链表 (2)双链表 (3)循环链表 8.在单链表和双向链表中,能否从当前结点出发访问到任一结点? 9.哪些链表从尾指针出发可以访问到链表中的任意结点? 10.若较频繁地对一个线性表进行插入和删除操作,该线性表宜采用何种存储结构? 为什么?五、算法设计题1.单链表 L 是一个递减有序表,试编写高效算法,删除表中值大于 min 且小于 max 的结点,同时释放被删结点的空间,这里 min 和 max 是两个给定的参数。请分析你的算 法时间复杂度。 2.编写算法,对单链表实现就地逆置。 3.已知 A, B 和 C 为 3 个递增有序的线性表,现要求对 A 表作如下操作:删去那些既 在 B 表中出现又在 C 表中出现的元素。试对在顺序表上编写实现上述操作的算法,并分 析算法的时间复杂度。 4.已知 A、B 和 C 为 3 个递增有序的线性表,现要求对 A 表作如下操作:删去那些 既在 B 表中出现又在 C 表中出现的元素。试对单链表编写实现上述操作的算法。 5.假设有两个按元素值递增有序排列的线性表 A 和 B,均以单链表作存储结构。请 编写算法将 A 表和 B 表归并成一个按元素值递减有序(即非递增有序,允许表中含有值 相同的元素)排列的线性表 C,并要求利用原表(即 A 表和 B 表)的结点空间构造 C 表。 6.假设以两个元素依值递增有序排列的线性表 A 和 B 分别表示两个集合,而且同一 表中无相同元素。现要求另辟空间构成一个线性表 C,其元素为 A 和 B 中元素的交集。 试在顺序表上编写求表 C 的算法。 7.已知一顺序表 A,其元素值非递减有序排列, 编写一个算法删除顺序表中多余的值 相同的元素。 8.已知带头结点的单链表 L 中的结点是按整数值递增排列的,试写一算法,将值为 x 的结点插入到表 L 中,使得 L 仍然递增有序,并且分析算法的时间复杂度。 9.假设有两个已排序(递增)的单链表 A 和 B,编写算法将它们合并成一个链表 C 而不改变其排序性。 10.假设长度大于 1 的循环单链表中,既无头结点也无头指针,p 为指向该链表中某 一结点的指针,编写算法删除该结点的前驱结点。 【提示】利用循环单链表的特点,通过 s 指针可循环找到其前驱结点 p 及 p 的前驱结点 q,然后可删除结点*p。6
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
在一个头指针为L的循环链表中,指针域为next,指针P所指结点(此结点是尾结点)的条件是( ).
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
P->next==L
为您推荐:
其他类似问题
扫描下载二维码您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
数据结构作业(二) .doc 4页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
数据结构作业(二) .doc
你可能关注的文档:
··········
··········
数据结构作业(二)
一、填空题
头指针为H的带头结点的单链表和循环单链表,则空表的判定条件分别是___ __
;头指针为H的不带头结点的单链表和循环单链表,则空表的判定条件分别是_____
;在头指针为L的循环链表中,结点的指针为P,P所指的结点为尾结点的条件是
存取,而顺序表更适合
一个不带表头结点且不空链栈的栈顶指针是top,栈中元素的值域为data,则栈顶元素即为__
一个带表头结点链栈的栈顶指针是top,每个结点包含值域data和指针域next,当进行出栈操作时,则需要修改指针域的操作为
二、选择题
链表中设头结点的目的是为了
A. 标识单链表
B. 方便运算的实现
C. 使链表中至少有一个结点
D. 标识起始结点的位置
设H是带表头结点循环单向链表的表头指针。当这种链表成为空链表时,
A. 表头结点指针域的值为空
B. H的值为空
C. 表头结点指针域的值与H的值相等
D. 表头结点指针域的值与H的地址相等
若某链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用
存储方式最节省运算时间。
仅有头指针的单循环链表
D. 仅有尾指针的单循环链表
若某线性表最常用的操作是取第i个元素和查找第i个元素的直接前躯,则采用
存储方式最节省时间。
C. 循环单链表
在一个表头指针为L的单链表中,若要在指针q所指结点个后面插入一个由指针p所指向的结点,则执行
A. q->next=p->p=q;
B. q->next=p->p->next=q;
C. p->next=q->q=p;
D. p->next=q->q->next=p;
在一个表头指针为L的单链表中,若要删除由指针q所指向结点的后继结点(若存在的话),则至少执行
A. p=q->p->next=q->
B. p=q->q->next=p->
C. p=q->q->next=p;
D. q->next=q->next->q->next=q;
在一个带头结点的循环双向链表中,若要在指针p所指向的结点之前插入一个q指针所指向的结点,则需要对p->prior->next赋值为
C. p->next
D. p->prior
在一个带头结点的循环双向链表中,若要删除指针p所指向的结点,则执行
A. p->prior->next=p->p->next->prior=p->
B. p->next->prior=p;p->next=p->next->
C. p->prior->next=p;p->next=p->next->
D. p=p->p->prior->next=p->
向一个不带表头结点栈顶指针为top的链栈中插入一个s所指结点时,执行________。
A. top->next=s;
B. s->next=top->next;top->next=s;s->next=top=s;
D. s->next=top=top->next;
正在加载中,请稍后...&>&已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点
已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点
上传大小:2KB
内存中一片连续空间(不妨假设地址从1到m),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。
综合评分:5
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有13条
谢谢谢谢谢!!
数据结构的上机题,愁了好久,终于找到了!
写的不错,对上机很有帮助!
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点

我要回帖

更多关于 不带头结点的单链表 的文章

 

随机推荐