递增的整数序列链表的插入

cpp 复制代码
List Insert( List L, ElementType X )
{
    PtrToNode p;
    p=L;
    while(p->Next)
    {
        if(p->Data< X && X< p->Next -> Data){
            break;
        }
        if(X<=p->Data){
            break;
        }
        p=p->Next;
    }
    PtrToNode q;
    q=(List)malloc(sizeof(List));
    q->Data=X;
    q->Next=p->Next;
    p->Next=q;
    return L;
}

1.p=L而不是p=L->Next ,因为并不能确定L-->Next存在不存在。

2.注意返回 return L;

相关推荐
疯狂成瘾者20 小时前
Java 集合 LinkedList 详解:链表结构、常用方法和队列使用
java·开发语言·链表
WL学习笔记21 小时前
单项不带头不循环链表
数据结构·链表
拳里剑气21 小时前
C++算法:链表
c++·算法·链表
CoderYanger1 天前
A.每日一题:2095. 删除链表的中间节点
java·数据结构·程序人生·leetcode·链表·面试·职场和发展
CoderYanger1 天前
A.每日一题:234. 回文链表
数据结构·程序人生·leetcode·链表·面试·职场和发展·学习方法
影视飓风TIM1 天前
数据结构 | 链表超全笔记(单链表+双链表+高频算法题)
数据结构·笔记·链表
玖玥拾2 天前
C/C++ 数据结构(六)链表迭代器与底层
c语言·数据结构·c++·链表·stl库
IronMurphy2 天前
【算法五十八】23. 合并 K 个升序链表
数据结构·算法·链表
学计算机的计算基2 天前
链表算法上篇:LeetCode 206/234/141/142/160/21 题解与易错点
java·笔记·算法·链表
Tisfy2 天前
LeetCode 2095.删除链表的中间节点:两次遍历 / 一次遍历(快慢指针)
算法·leetcode·链表·题解·双指针