首页 > 题库 > 职业考证 > 软考 > 程序员 > 案例题

阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。
【说明】
设有头指针为 head 且不含有头结点的单链表,用来存储一个非递减有序的元素序列,如图4-1所示。

函数insertList(LinkList head, ElemType x)的功能是为元素x创建结点并将其插入到头指针为 head且不含头结点的单链表中,并保持表中元素非递减有序排列的特点,最后返回头指针。
【C代码】
typedef struct LNode * PtrToNode;
typedef int ElemType;
struct LNode {
    ElemType elem;            /*结点数据*/
    PtrToNode next;           / *指向后继结点的指针*/
};
typedef PtrToNode LinkList;
LinkList insertList (LinkList head,ElemType x) {
PtrToNode s;
s =(PtrToNode ) malloc ((1));
if( ! s) return head;//结点创建失败
s->elem = x;
s->next = NULL;

  if ( ! head){   //插入x之前单链表为空
         (2)                
      return head ;
      }
   if(x< head->elem)     //x小于单链表中的最小元素
      (3);
    head = s;
    return head;
 }
 PtrToNode pre, p;
    pre = head; p = head->next;while (p && x>p->elem) {
    (4);

    (5);

  }
  s->next = p;              //将新结点插入单链表中
  pre->next =(6);
  return head;
}



参考答案: 查看答案 查看解析 查看视频解析 下载APP畅快刷题

相关知识点试题

相关试卷