【基础知识题】

 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
 
 
【基础知识题】