1、假设以不带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针。试设计相应的入队和出队的算法。
第1题:
第2题:
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?
第3题:
设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。
第4题:
用循环链表表示的队列长度为n,若只设头指针,则出对和入对的时间复杂度分别是()和();若只设尾指针,则出队和入队的时间复杂度分别是()和()。
第5题:
用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。
第6题:
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。
第7题:
在一个带头结点的单循环链表中,P指向尾结点的直接前驱,则指向头结点的指针head可用P表示为head=()。
第8题:
仅修改队头指针
仅修改队尾指针
队头、队尾指针都要修改
队头、队尾指针都可能要修改
第9题:
front->next=s;front=s;
s->next=rear;rear=s;
rear->next=s;rear=s;
s->next=front;front=s;
第10题:
第11题:
第12题:
第13题:
队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。
A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表
第14题:
用不带头结点的单链表存储队列,其头指针指向队头结点,尾指针指向队尾结点,则在进行出队操作时()。
第15题:
设长度为n的链队用单循环链表表示,若设头指针,则入队出队操作的时间为何?若只设尾指针呢?
第16题:
用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。
第17题:
设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()
第18题:
设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()
第19题:
第20题:
第21题:
第22题:
第23题:
对
错
第24题:
对
错