没有搜到到结果?点击这里求解答/求资源。
【单选题】
假定一个链表表头指针为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);
【单选题】
若按如下定义,函数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
【单选题】
一个链队列,front和rear分别为指针和尾指针,则插入一个结点s操作为( )。

front=front->next
s->next=rear;rear=s
rear->next=s;rear=s;
s->next=front;front=s;
【单选题】
建立一个长度为n有序链表时间复杂度为()

O(n)
O(1)
O(n2)
O(log2n)
【单选题】
设某链表中最常用操作链表尾部插入或删除元素,则选用下列()存储方式最节省运算时间。

单向链表
单向循环链表
双向链表
双向循环链表
【单选题】
一个不带头结点链队,假设f和r分别为队和队尾指针,则对该队列进行出队操作并把结点值保存在变量e,其运算为e=f?data;和( )。

A.r=r?next;
B.r?next=r;
C.f=f?next;
D.f?next=f;
【判断题】
线性链表删除算法简单,因为当删除链某个结点后,计算机会自动地将后续各个单元向前移动。

正确
错误