解题代码
List Insert(List L, ElementType X) {
List head = L;
List temp = (List)malloc(sizeof(struct Node));
ElementType flag = 0;
temp->Data = X;
if (L->Next==NULL) {
head->Next = temp;
temp->Next = NULL;
}
else {
while (L->Next) {
if (X < L->Next->Data) {
temp->Next = L->Next;
L->Next = temp;
flag++;
break;
}
L = L->Next;
}
if (flag == 0) {
L->Next = temp;
temp->Next = NULL;
}
}
return head;
}
测试结果
问题整理
1.break不要忘记。
2.注意插入后导致L=L->next并未移动,循环不能退出,导致运行超时。