List Insert( List L, ElementType X ){
List head=L;//记录L的头节点,用于返回
List p=(List)malloc(sizeof(List));
p->Next=NULL;
p->Data=X;
L=L->Next;
if(L==NULL){//如果是空链表
head->Next=p;
return head;
}//如果第一个节点的值就大于X,那么X应该插在第一个位置
if(L->Data>X){
head->Next=p;
p->Next=L;
return head;
}
while(L->Next->Data<X){//循环查找比X大的节点,退出时L的下一个位置是应该插入的位置
L=L->Next;
if(L->Next==NULL){//如果循环到了最后一个位置,直接插入
L->Next=p;
return head;
}
}
p->Next=L->Next;
L->Next=p;
return head;
}
习题2.4 递增的整数序列链表的插入 (15分)
最新推荐文章于 2024-07-25 15:58:50 发布