更多"[单选题]若已建立如下图所示的单向链表结构:PData next "的相关试题:
[单选题]程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。
若有以下程序段
Q=s; s=s->next; p=s;
While (p->next) p=p->next;
P->next=q; q->next=NULL;
该程序段实现的功能是()。
A.首结点成为尾结点
B.尾结点成为首结点
C.删除首结点
D.删除尾结点
[多选题]与单向链表相比,双向链表的特点是()
A.更容易访问相邻结点
B.占用更多存储空间
C.可以进行随机访问
D.插入删除操作更简单
[单选题]以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。
#include
Stuct node
{ char data; struct node *next;};
() CreatList(char *s)
{ struct node *h,*p,*q);
H=(struct node *) malloc(sizeof(struct node));
P=q=h;
While(*s!='\0')
{ p=(struct node *) malloc(sizeof(struct node));
P->data=() ;
Q->next=p;
Q=___(50)___ ;
S++;
}
P->next='\0';
Return h;
}
Main()
{ char str[]="link list";
Struct node *head;
Head=CreatList(str);
...
}
A.p->next
B.p
C.s
D.s->next
[单选题]有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。
Struct node
{ int data;
Struct node *next;
}*p,*q,*r;
Data next data next data next
┌─┬─┐ ┌─┬─┐ ┌─┬─┐
─→│ │ ┼→│ │ ┼→│ │ ┼→
└─┴─┘ └─┴─┘ └─┴─┘
↑p ↑q ↑r
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是()。
A.r->next=q;q->next=r->next;p->next=r;
B.q->next=r->next;p->next=r;r->next=q;
C.p->next=r;q->next=r->next;r->next=q;
D.q->next=r->next;r->next=q;p->next=r;
[单选题]判断一个单向链表中是否存在环的最佳方法是()
A.两重遍历
B.快慢指针
C.路径记录
D.哈希表辅助
[判断题]如下图所示的某抽油机井的实测示功图,如果井口量油有所下降,则该示功图为固定阀漏失的示功图。
A.正确
B.错误
[判断题]386.(93694)如下图所示的某抽油机井的实测示功图,如果井口量油有所下降,则该示功图为固定阀漏失的示功图。
A.正确
B.错误
[判断题]385.(93693)如下图所示的某抽油机井的实测示功图,如果井口量油有所下降,则该示功图为游动阀漏失的示功图。
A.正确
B.错误
[单选题]假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是()。
A.free(q); p->next=q->next;
B.(*p).next=(*q).next; free(q);
C.q=(*q).next; (*p).next=q; free(q);
D.q=q->next; p->next=q; p=p->next;free(p);
[判断题]384.(93692)如下图所示的某抽油机井的实测示功图,如果井口量油正常,则该示功图为漏失的示功图。
A.正确
B.错误
[多选题]某单位工程双代号网络计划如下图所示。图中错误有( )。
A.多个起点节点
B.多个终点节点
C.存在多余虚工作
D.节点编号有误
E.存在循环回路
[单选题]施工现场移动电气设备时下图所示做法是正确的。
A.对
B.错
[单选题]如下图所示,该配筋图中所标注的标高“2.840”为板的( )。
A.板底结构标高
B.板底建筑标高
C.板顶结构标高
D.板顶建筑标高
[单选题]在下图所示情况下用全圆方向法观测水平角,盘左时瞄准目标的顺序是()。
A.A—B—C—D
B.A—B—C—D—A
C.A—D—C—B
D.A—D—C—B—A