【判断题】
设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front-x=p- 然后执行front=p-。
【单选题】
设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( )。
【单选题】
t和q分别指向图中所示结点:ptq↓↓↓┌──┬──┐┌──┬──┐┌──┬──┐│data│next┼→│data│next┼→│data│next┼→...└──┴──┘└──┴──┘└──┴──┘现要将t和q所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是()
①
t-next=q-p-next=q;q-next=t;
②
p-next=q;t-next=q-q-next=t;
③
q-next=t;t-next=q-p-next=q;
④
t-next=q-q-next=t;p-next=q;
【单选题】
在一个链队中,设front和rear分别为队首和队尾指针,则插入p所指结点时,应执行( )。
①
A.front-next=p;front=p;
④
D.p-next=front;front=p;
【单选题】
非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。
【单选题】
向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( )。
③
s->next=hs->next;hs->next=s;
④
s->next=hs; hs=hs->next;
【单选题】
若按如下定义,函数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-}}
【单选题】
假定要访问一个结构指针p所指对象中的b指针成员所指向的对象,则表示方法为( )。
【单选题】
若有定义: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;}}
【单选题】
假定要访问一个结构指针p所指对象中的b指针成员所指向的对象,则表示方法为( )。