【单选题】
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。
【判断题】
从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结点的值,可执行x=h-和h=h-。(结点的指针域为next) 。
【单选题】
在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的( )。
【单选题】
在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的( )。
【判断题】
从一个栈顶指针为top的链栈中删除一个结点时,用d保存被删结点的值,可执行d=top-top=top-。(结点的指针域为next,数据域为data)
【单选题】
若有定义: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;}}
【单选题】
在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是( )。
【单选题】
在一个链队中,设front和rear分别为队首和队尾指针,则插入p所指结点时,应执行( )。
①
A.front-next=p;front=p;
④
D.p-next=front;front=p;
【单选题】
在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行( )。
【单选题】
若有以下定义: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;