zoukankan      html  css  js  c++  java
  • 数据结构链表——静态链表

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

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

    2、静态链表

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

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

    静态链表的定义:

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

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

  • 相关阅读:
    MySQL之增_insert-replace
    Linux如何配置bond
    行转列及列转行查询
    SELECT中常用的子查询操作
    SELECT中的多表连接
    MySQL最常用分组聚合函数
    SELECT中的if_case流程函数
    MySQL常用日期时间函数
    MySQL常用数值函数
    dnslog注入
  • 原文地址:https://www.cnblogs.com/jiameng991010/p/11304555.html
Copyright © 2011-2022 走看看