【基础知识题】 1. 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。 2. 简述线性表的两种存储结构顺序表和链表的优缺点。 3. 已知 L 是无表头结点的单链表,且 P 是指向表中某个结点的指针,试写出在 P 所指结点之前插入指针 S 所指结点的语句序列。 4. 已知 P 是指向双向链表中某个结点的指针,试写出删除 P 所指结点的前驱结点的语句序列。 5. 简述以下算法的功能。 (1) Status A(LinkedList L) { // L 是无表头结点的单链表 if (L && L->next){ Q =L; L =L->next; P =L ; while ( P->next) P =P->next ; P->next =Q; Q->next = NULL; } return OK; } // A (2) void BB(LNode *s, LNode *q ) { p =s ; while (p->next!=q) p =p->next ; p->next =s; } //BB void AA(LNode *pa, LNode *pb) { // pa 和 pb 分别指向单循环链表中的两个结点 BB(pa, pb); BB(pb, pa); } //AA | 【基础知识题】 |