当前位置: 首页 > news >正文

【数据结构】2-3-4 单链表的建立

数据结构知识点合集

  • 尾插法建立单链表

建立链表时总是将新节点插入到链表的尾部,将新插入的节点作为链表的尾节点

/*尾插法建立链表L*/

LinkList List_TailInsert(LinkList &L)

{

    int x;

    /*建立头节点*/

    L = (LNode *)malloc(sizeof(LNode));

    /*s为新插入的节点,r始终指向表尾节点*/

    LNode *s,*r=L;

    scanf("%d",&x);

    while(x!=9999)

    {

        /*为插入节点分配空间*/

        s = (LNode *)malloc(sizeof(LNode));

        /*将输入值赋给新节点数据域*/

        s->data = x;

        /*链表表尾节点指针域指向新插入节点*/

        r->next = s;

        /*新插入节点为新的尾节点*/

        r = s;

        scanf("%d",&x);

    }

    /*尾节点的指针域置空*/

    r->next = NULL;

    return L;

}

  • 头插法建立单链表

建立链表时总是将新节点插入到链表的头部,将新插入的节点作为链表的头节点

/*头插法建立链表L*/

LinkList List_HeadInsert(LinkList &L)

{

    int x;

    /*建立头节点,并初始化链表为空*/

    L = (LNode *)malloc(sizeof(LNode));

    L->next = NULL;

    /*s为新插入的节点*/

    LNode *s;

    scanf("%d",&x);

    while(x!=9999)

    {

        /*为新插入节点分配空间*/

        s = (LNode *)malloc(sizeof(LNode));

        /*将输入数据赋给新节点*/

        s->data = x;

        /*新节点的指针域指向第一个节点*/

        s->next = L->next;

        /*将新节点作为头节点*/

        L->next = s;

        scanf("%d",&x);

    }

    return L;

}

相关文章:

  • 实现菜谱二级联动导航
  • java每日精进 5.18【文件存储】
  • 张 心理问题的分类以及解决流程
  • Django 项目创建全攻略
  • NE555双音门铃实验
  • Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流
  • 彻底解决docker代理配置与无法拉取镜像问题
  • Limesurvay系统“48核心92GB服务器”优化方案
  • C++11-(2)
  • 使用conda创建python虚拟环境,并自定义路径
  • 优化 Spring Boot 应用启动性能的实践指南
  • 互联网大厂Java面试:技术栈与业务场景深度解析
  • lvs-dr部署
  • 京东商品详情API接口开发指南(含Java/Python实现)
  • spark数据的提取和保存
  • MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频
  • Java虚拟机 - JVM与Java体系结构
  • 代码审计-php框架开发,实战tp项目,打击微交易,源码获取,扩大战果
  • C++学习:六个月从基础到就业——C++11/14:其他语言特性
  • c++总结-03-move
  • “大国重器”、新型反隐身雷达……世界雷达展全面展示尖端装备
  • 泽连斯基与美国副总统及国务卿会谈,讨论伊斯坦布尔谈判等问题
  • 广东高州发生山体滑坡,造成2人遇难4人送医救治1人失联
  • 哈马斯与以色列在多哈举行新一轮加沙停火谈判
  • 阿里上财年营收增6%,蒋凡:会积极投资,把更多淘宝用户转变成即时零售用户
  • 中方是否计划解除或调整稀土出口管制?外交部回应