ToB企服应用市场:ToB评测及商务社交产业平台

标题: 数据结构之【次序表简介】 [打印本页]

作者: 金歌    时间: 7 天前
标题: 数据结构之【次序表简介】
1.次序表的概念

   次序表 是 用一段物理地址一连的存储单元 依次 存储数据元素的线性结构
  一般情况下采用数组存储
  2.次序表的结构

    既然次序表可以用来存储数据元素
  那就少不了   增删查改  的操作
  此时,单一地只创建数组满意不了上述操作
  创建相应的结构体变量可以很好地办理这个问题
  2.1重定名数据类型名称

  1. typedef int SLDataType;
复制代码
   重定名一下数据类型的名称
  如许
  之后改变数据类型的时间只需要修改一处
    SL是Seqlist,即次序表的英文缩写
  DataType 是数据类型的英文缩写
  2.2静态次序表

   所谓静态:使用定长数组存储数据
  1. #define N 5
  2. typedef struct SeqList
  3. {
  4.         SLDataType arr[N];  //定长数组
  5.         int size;   //有效数据个数
  6. }SL;
复制代码
 
   如上图:
  界说的结构体包罗
  一个定长数组和一个变量
  数组用来存储数据,
  变量用来存储有效数据的个数
    很显然,
  静态次序表存在很大的缺陷,
  由于
  你不能根据需要合理界说数组的大小
  开100个单元存不下101个数据
  开1万个单元存不下1万零1个数据
  开10万个单元如果只存10个数据,又会浪费空间
    以是我们更多的选择使用动态次序表
  按需申请空间
  2.3动态次序表

  1. typedef struct SeqList
  2. {
  3.         //该指针指向所申请的空间首地址
  4.         SLDataType* arr;
  5.         int size;       //有效数据个数
  6.         int capacity;   //空间容量
  7. }SL;
复制代码

   如上图:
  界说的结构体中,
  arr 指向动态开发的内存空间
  size 存储有效数据个数
  capacity 表示空间容量,空间不够就扩容

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4