A. head= =NULL B. head—>next= =NULL
C. head—>next= =head D. head!=NULL
2. 带头结点的单链表 head 为空的判定条件是____。
A. head= =NULL B. head—>next= =NULL
C. head—>next= =head D. head!=NULL
3. 非空的循环单链表 head 的尾结点(由 p 所指向)满足____。
A. p—>next= =NULL B. p= =NULL
C. p—>next= =head D. p= =head
4. 在循环双链表的 p 所指结点之后插入 s 所指结点的操作是____。
A. p—>right=s; s—>left=p; p—>right—>left=s; s—>right=p—>right;
B. p—>right=s; p—>right—>left=s; s—>left=p; s—>right=p—>right;
C. s—>left=p; s—>right=p—>right; p—>right=s; p—>right—>left=s;
D. s—>left=p; s—>right=p—>right; p—>right—>left=s; p—>right=s;
5. 在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入 s 结点,则执行____。
A. s—>next=p—>next; p—>next=s;
B. p—>next=s—>next; s—>next=p;
C. q—>next=s; s—>next=p;
D. p—>next=s; s—>next=q;
6. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行____。
A. s—>next=p; p—>next=s;
B. s—>next=p—>next; p—>next=s;
C. s—>next=p—>next; p=s;
D. p—>next=s; s—>next=p;
7. 在一个单链表中,若删除 p 所指结点的后续结点,则执行____。
A. p—>next= p—>next—>next;
B. p= p—>next; p—>next= p—>next—>next;
C. p—>next= p—>next;
D. p= p—>next—>next;
9.从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比较____个结点。
A. n B. n/2 C. (n-1)/2 D. (n+1)/2
10. 在一个具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是____。
A. O(1) B.O(n) C. O (n
2
) D.O (nlog
2
n)
11. 给定有 n 个元素的向量,建立一个有序单链表的时间复杂度是____。
A. O(1) B.O(n) C. O (n
2
) D.O (nlog
2
n)
12. 向一个栈顶指针为 HS 的链栈中插入一个 s 所指结点时,则执行____。
6