答案查看网,轻松搜题/搜资源
登录
×
登录账号
记住密码
立即注册
忘记密码
×
注册
使用微信扫描二维码,获取账号密码后免费查看答案
前往登录
忘记密码
×
忘记密码
使用微信扫描下方二维码,即可找回您的账号密码
前往登录
立即注册
搜题/搜资源
【单选题】【消耗次数:1】
假定一个链表的表头指针为f,结点结构为(data,next),则向该链表的表头插入一个由p所指向的结点时,应执行的操作为p->next=f和( )。
①
p=f->next
②
f=p->next
③
f=p
④
f->next=p
参考答案:
复制
纠错
相关题目
【单选题】
假定一个链表的表头指针为f,结点结构为(data,next),则向该链表的表头插入一个由p所指向的结点时,应执行的操作为p-next=f和( )。
①
p=f-next
②
f=p-next
③
f=p
④
f-next=p
查看完整题目与答案
【单选题】
若有以下定义:structnode{intdata;structnode*next;}structnode*p;已建立如下图所示的链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是()。
①
while(p!=NULL){printf("%d,",p-p++;}
②
while(p){printf("%d,",p.data);p=p-}
③
for(;p!=NULL;p++)printf("%d,",p
④
-for(;p;p=p-next)printf("%d,",(*p).data);
查看完整题目与答案
【单选题】
若有以下定义:structnode{intdata;structnode*next;}*p,*q;已建立如下图所示的链表:┌──┬──┐┌──┬──┐...p→│data│next┼→│data│NULL│└──┴──┘└──┴──┘┌──┬──┐q→│data│next│└──┴──┘不能将指针q所指结点连到上图所示链表末尾的语句是()。
①
q-next=NULL;p=p-p-next=q;
②
p=p-p-next=q;q-next=NULL;
③
p=p-q-next=p-p-next=q;
④
q-next=p-p=p-p-next=q;
查看完整题目与答案
【单选题】
在一个链队中,假设f和r分别为队头和队尾指针,p指向一个已生成的结点,现要为该结点的数据域赋值e,并使结点入队的运算为p-data=e; p-next=NULL ; 和( )。
①
A . f-next=p; f=p;
②
B. r-next=p;r=p;
③
C. p-next=r;r=p;
④
D. p-next=f;f=p;
查看完整题目与答案
【判断题】
设有一个带头结点的,头指针为head的单向链表,p指向表中某一个结点,且有p-next= L,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head- p-next= head;。
①
正确
②
错误
查看完整题目与答案
【单选题】
若有以下定义:structnode{intdata;structnode*next;}structnodem,n,k,*head,*p;已建立如下图所示的链表:mnk┌──┬──┐┌──┬──┐┌──┬──┐head→│data│next┼→│data│NULL│p→│data│next│└──┴──┘└──┴──┘└──┴──┘指针head指向变量m,m.next指向变量n,p指向变量k,不能把结点k插到m和n之间形成新链表的程序段是()。
①
p-next=head-m.next=p;
②
(*head).next=p;(*p).next=
③
head-next=p-next=head
④
-m.next=k.next=
查看完整题目与答案
【判断题】
在双向链表中,要删除p所指的结点,其中所用的一条语句(p-prior)-next=p-next;的功能是:使P所指结点的直接前驱的右指针指向P所指结点的直接后继。
①
正确
②
错误
查看完整题目与答案
【判断题】
设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为rear-next=p; p = rear;
①
正确
②
错误
查看完整题目与答案
【单选题】
若按如下定义,函数link的功能是()。其中head指向链表首结点,整个链表结构如下图:┌──┬─┐┌──┬─┐┌──┬──┐head→│data│┼→│data│┼→…→│data│NULL│└──┴─┘└──┴─┘└──┴──┘structnode{intdata;structnode*next;};voidlink(structnode*head){structnode*p=head;while(p!=NULL){if(p-data%2==1)printf("%d",p-p=p-}}
①
计算链表head中结点的个数
②
遍历链表head,输出表中值为奇数的元素
③
删除链表head中的所有结点
④
插入一个新元素到链表head中
查看完整题目与答案
【单选题】
若有定义:structnode{intdata;structnode*next;};已建立如下图所示的链表:┌─┬─┐┌─┬─┐┌─┬─┐head→│2│┼→│4│┼→…→│28│┼→NULL└─┴─┘└─┴─┘└─┴─┘指针head指向链表首结点,以下函数的功能是()。voidfun(structnode*head){structnode*p=head;while(1){p=p-printf("%d",p-data);if(!p)break;}}
①
显示单向链表中第一个结点的数据
②
显示单向链表中最后一个结点的数据
③
显示单向链表中的所有数据
④
显示单向链表中除第一个结点外的所有数据
查看完整题目与答案
随机题目
【单选题】
对于长度为18的顺序存储的有序表,若采用折半查找,则查找第15个元素的比较次数为( )。
①
3
②
4
③
5
④
6
查看完整题目与答案
【单选题】
对于长度为9的顺序存储的有序表,若采用折半查找,在等概率情况下的平均查找长度为( )的9分之一。
①
20
②
18
③
25
④
22
查看完整题目与答案
【单选题】
若要对1000个元素排序,要求既快又稳定,则最好采用( )方法。
①
直接插入排序
②
归并排序
③
堆排序
④
快速排序
查看完整题目与答案
【单选题】
若查找每个元素的概率相等,则在长度为n的顺序表上查找任一元素的平均查找长度为( )。
①
n
②
n+1
③
(n-1)/2
④
(n+1)/2
查看完整题目与答案
【单选题】
数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要( )。
①
低
②
高
③
相同
④
不好说
查看完整题目与答案
【单选题】
在对n个元素进行快速排序的过程中,最坏情况下的时间复杂度为( )。
①
O(1)
②
O(log2(n))
③
O(n的平方)
④
O(nlog2(n))
查看完整题目与答案
【单选题】
若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+1]的插入位置为r[j],则需要移动元素的次数为( )。
①
j-i
②
i-j-1
③
i-j
④
i-j+1
查看完整题目与答案
【单选题】
若要从1000个元素中得到10个最小值元素,最好采用( )方法。
①
直接插入排序
②
简单选择排序
③
堆排序
④
快速排序
查看完整题目与答案
【单选题】
非线性结构是数据元素之间存在一种:( )。
①
一对多关系
②
多对多关系
③
多对一关系
④
一对一关系
查看完整题目与答案
【单选题】
假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为( )。
①
1, 3, 5, 7, 9, 12
②
1, 3, 5, 9, 7, 12
③
1, 5, 3, 7, 9, 12
④
1, 5, 3, 9, 12, 7
查看完整题目与答案