新星计划->线性表_定义+初始化->学习笔记~

👿作者: 芝士小熊饼干
📖 系列专栏: 数据结构->线性表
🎉 支持我: 点赞 👍 +收藏+留言 📝
新星计划参与者,创作不易。
🐉 ”十年运道龙困井,一朝得势入青云,金鲤岂是池中物,一遇风雨变化龙。"

线性表的机构特点~

官方解释:
线性表的顺序储存是指,在内存中用一组地址连续的储存单元一次存储线性表中的各个数据元素。采用顺序存储结构的线性表称为顺序表。
  • a1的储存地址称为线性表的起始位置或基地址。

  • 线性表的顺序存储结构是一种随机存取的储存结构。

线性表的顺序存储结构的类型定义~

  • 顺序表的存储结构通常用一维数组来描述,数组的下标与元素在线性表中的序号相对应

C语言实现定义:

#include<stdio.h> 
#include<stdlib.h>
#define MAXSIZE 100 //全局变量
#define ElemType int  //elemtype 翻译元素的类型
#define OVERFLOW -1
#define TURE 1
#define LIST_MAX_SIZE 10
//顺序储存结构的类型定义
//1
typedef struct  //结构体
{
    //elem 是element元素的缩写
    ElemType elem [MAXSIZE]; //储存线性表中数据元素的数组 elemtype 所有可能的类型
    int length; //length 长 线性表当前的长度

}Seqlist; //顺序表



//2
typedef struct 
{
    ElemType *elem;//线性表中数据元素的基地址
    int length; //线性表的当前长度
    int listsize; //当前为线性表分配的储存容量

    /* data */
}SeqList;
  • 数据元素a1的序号为1,而其对应的数组下标为0。

  • SeqList L ,将L定义为SeqLis类型的变量;SeqLis *L 将L定义为指向SeqLis类型的指针。

初始化顺序表~

构造一个空的顺序表,并为其分配存储空间

//初始化顺序表
typedef int Status; //status 作为函数类型,为函数返回的值的类型,它不是c语言中的关键字,也不是c语言库函数里面的库函数
//status是我们自己定义的一个关键字
Status InitList(SeqList*L)
{//初始化顺序表
L->elem=(ElemType*)malloc (MAXSIZE*sizeof(ElemType));//分配储存空间
//malloc函数的功能是开辟指定字节大小的内存空间,如果开辟成功返回该空间的首地址,如果开辟失败返回NULL。
//malloc函数开辟好空间后,不对空间内容做任何初始化,空间内的数据为随机值。

if(!L->elem) return OVERFLOW;//储存空间分配失败
L->length=0;//当前线性表长度为0
L->listsize=LIST_MAX_SIZE; //初始化储存容量
return TURE;

}  

下节:插入,删除,查找->数据元素~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士小熊饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值