双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继。设p指向链表中的一个结点,它的左右结点均非空。现要求删除结点p,则下面语句序列中错误的是( )。
A.p^.rlink^.llink=p^.rlink;
p^.llink^.rlink=p^.llink;dispose(p);
B.p^.llink^.rlink=p^.rlink;
p^.rlink^.llink=p^.llink;dispose(p);
C.p^.rlink^.llink=p^.llink;
p^.rlink^.llink^.rlink=p^.rlink;dispose(p);
D.p^.llink^.rlink=p^.rlink;
p^.llink^.rlink^.llink=p^.llink;dispose(p);
最好解释一下为什么选那个选项
有关pascal指针的问题
答案:2 悬赏:10 手机版
解决时间 2021-04-07 23:16
- 提问者网友:欲劫无渡
- 2021-04-07 01:05
最佳答案
- 五星知识达人网友:白昼之月
- 2021-04-07 02:41
最基本的指针运用啊,我初赛前10分钟刚刚看得指针都会做这题。。。答案是bcd,教你一个白痴但很有用的方法,rlink就是右指针,llink就是左指针,加个^就是指其所指的地址,你可以把他当做一个数来看。B的意思就是p的左的右赋成p的右,p的右的左赋成p的左,dispose是删除某个地址的令命,即把p所指的地址的空间释放,等于删除p,这样b就是正确的,cd两个自己推,a很明显是错的(p的右的左赋成p的右,明显反了)。
全部回答
- 1楼网友:鸽屿
- 2021-04-07 03:43
这么说吧,当你定义一个指针p时,它会指向一个内存地址。这个地址要么是空的,要么存放着一个数据。当你使用p^时,你就会调用该内存地址中的数据。当你使用p时,调用的只是内存的地址。比如说,我要到xx路xx号,找xx人,找的是这个人。而我找xx路xx号,找的是一个地址。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯