码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构----静态链表c++


    📎个人主页:我的主页
    📎小白一枚,欢迎指教👏


    文章目录

      • 一、什么是静态链表
      • 二、用代码定义一个静态链表
      • 三、基本操作
      • 四、总结

    一、什么是静态链表

    • 单链表:各个结点在内存中星罗棋布,离散的分布,每个节点包含一个数据元素和指向下一个结点的指针(地址)。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wR6tqLEd-1660367533355)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813122811574.png)]

    • 静态链表:分配一整片连续的内存空间,各个结点集中安置。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXZ3H6Tk-1660367533357)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813123123867.png)]

    • 每个数据元素为4B,每个游标4B(每个结点共8B),其首地址为addr

    • 如:e1的存放地址为 addr+8*2


    二、用代码定义一个静态链表

    #define MaxSize 10  //静态链表的最大长度
      struct Node  {     //静态链表结构类型的定义
         ElemType data;   //存储数据元素
        int next;      //下一个元素的数组下标
      };
       void testSLinkList(){
         struct Node a[MaxSize];  //数组a作为静态链表
         //......后续代码
       }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nn1cA9Wo-1660367533358)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813124109198.png)]


    三、基本操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wDxNkM7-1660367533359)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813124746730.png)]

    • 初始化静态链表,对应单链表,指向NULL在静态链表中就是把a[0]的next设为1。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w74tLfoH-1660367533361)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813125722135.png)]

    • 查找:注意是某一位序(各个数组在逻辑上的顺序)的结点,而非数组下标(各个结点在物理上的顺序)的结点

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a2s9e9FF-1660367533362)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813130138441.png)]

    • 插入位序为i的结点:注意如何判读是否为空?可以让next为某个特殊值,比如-2,否则会有脏数据

    • 删除某个结点:1.从头出发找到前驱节点;2.修改前驱节点的游标;3.被删除结点next设为-2


    四、总结

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OiYRtRx9-1660367533362)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220813130807423.png)]

    • 适用场景:1.不支持指针的低级语言;2.数据元素数量固定不变的场景(如操作系统的文件分配表FAT)
  • 相关阅读:
    数据结构——二叉树(堆的实现)
    C#.NET ORM 如何访问 Access 数据库 [FreeSql]
    【前端项目笔记】6 参数管理
    CRM是什么?CRM管理系统主要功能,作用,特点分别有哪些?
    移动端/微信小程序/uni-app 性能优化随手总结
    服务器端口,服务器远程端口修改操作
    计算机毕业设计 基于SpringBoot的驾校管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
    常用概念-分布式系统
    Spring Boot 3.0正式发布及新特性解读
    Mysql explain语句详解与实例展示
  • 原文地址:https://blog.csdn.net/weixin_50490968/article/details/126318600
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号