zoukankan      html  css  js  c++  java
  • 线性表的顺序存储结构

    线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。

    线性表的顺序存储结构代码

    #define MAXSIZE 20     /*存储空间初始分配量*/

    typeded int ElemType ;  /*ElemType类型根据实际情况而定,这里假设为int */

    typedef struct

    {

      ElemType data[MAXSIZE];  /*数组存储数据元素,最大值为MAXSIZE*/

      int length;                            /*线性表当前长度*/

    }SqList;

    这里,我们就发现描述顺序存储结构需要三个属性:

    存储空间的起始位置:数组data,它的存储位置就是存储空间的存储位置

    线性表的最大存储容量:数组长度MaxSiz。

    线性表的当前长度:length。

     数据长度与线性表长度的区别

    数组的长度是存放线性表的存储空间的长度,存储分配后这个量一般是不变的

    线性表的长度是线性表中数据元素的个数,随着线性表插入和删除操作的进行,这个量是变化的。

    在任意时刻,线性表的长度应该都小于等于数组的长度。

    线性表顺序存储结构的优缺点

    优点:无须为表示表中元素之间的逻辑关系而增加额外的存储空间,可以快速的存取表中任一位置的元素

    缺点:插入和删除操作需要移动大量元素,当线性表长度变化较大时,难以确定存储空间的容量,造成存储空间的碎片

    /*线性表的单链表存储结构*/

    typedef struct Node

    {

      ElemType data;

      struct Node *next;

    }Node;

    typedef struct Node *LinkList;     /*  定义LinkList  */

    结点由存放数据元素的数据域和存放后继结点地址的指针域组成。

  • 相关阅读:
    用导数解决逗逼初三数学二次函数图像题
    NOIP 2014 pj & tg
    BZOJ 1004
    双参数Bellman-ford带队列优化类似于背包问题的递推
    emu1
    無題
    15 day 1代碼
    javascript quine
    线段树的总结
    Watering the Fields(irrigation)
  • 原文地址:https://www.cnblogs.com/123talents/p/7497197.html
Copyright © 2011-2022 走看看