• 数据结构链表——静态链表


    1、在这里我们首先要复习一下链表C语言的定义:这看起来很简单,但实际上至关重要!!!

    data域--存放结点值的数据域。
    next域--存放结点的直接后继的地址(位置)的指针域(链域),也就是说next域存储的是一个地址,这个地址是下一节点的地址。
    注意:
    ①链表通过每个结点的链域将线性表的n个结点按其逻辑顺序链接在一起的。
    ②每个结点只有一个链域的链表称为单链表(Single Linked List)。

    2、静态链表

    静态链表的存在是由于早期的语言不存在指针这一说法,所以就有人提出使用数组来代替指针描述链表,这就是静态链表的产生。

    虽然静态链表以后不一定会用得到,但是这样的设想很是巧妙,所以我们这里只是学习静态链表的设计思想,而不做具体的实现。

    静态链表的定义:

    首先都是让数组的元素都是由两个数据域组成 ,data和cur。也就是说数组中每个下标都对应一个data和cur。data于用来存储数据,而游标cur就像next一样,存储该元素后继在数组中的下标

    同时这里我们做一下特殊处理,数组的一个位置和最后一个位置不存放数据。我们把未使用的数组元素称为备用链表。把数组的第一个元素,即下标为0的元素的cur存放备用链表的第一个节点的下标;而数组的最后一个元素的cur则存放第一个有数值的元素的下标,相当于单链表的头节点的作用。如果静态链表为空,则如下图所示:

  • 相关阅读:
    request内置对象(上)1
    康拓展开-----两个排列的位置之差
    判断一个数的质因子个数
    学生信息管理系统----(顺序表)
    学生信息管理系统----(链表)
    二分图的最大匹配--匈牙利算法
    hdu-1285拓扑排序
    文件的压缩与解压
    树莓派安装QT(全部库包括)
    Win10 + CLion + 树莓派 + QT 远程开发调用Python
  • 原文地址:https://www.cnblogs.com/jiameng991010/p/11304555.html
Copyright © 2020-2023  润新知