数据结构学习day02——线性表

一、线性表的(类型)定义和特点

  • 线性表是具有相同特性的数据元素的一个有限序列。

  • 逻辑特征:

    • 有且经有一个开始节点,仅有一个直接后继;
    • 有且经有一个结束节点,仅有一个直接前驱;
    • 其余的内部节点都有且经有一个直接前驱和一个直接后继。
  • 抽象数据类型线性表的定义:

    ADT List{

    ​ 数据对象:D={a(i)|a(i)属于Elemset,(i=1,2······n,n>=0)}

    ​ 数据关系:R={<a(i-1),a(i)>|a(i-1),a(i)属于D,(i=1,2,3,·····n)}

    ​ 基本操作:

    ​ LinitList(&L); DestoryList(&L);

    ​ ······等等

    } ADT List

二、类C语言有关操作补充说明

1.元素类型说明

//顺序表类型定义
typedef struct{
   
    ElemType data[];
    int length;
} SqList; 

//定义结构类型
typedef struct{
   
    float p;
    int e;
} Polynomial;

typedef struct{
   
    Polynomial *elem;
    int length;
} SqList; 
  • ElemType是指任意类型,使用时可以定义,例:typedef char ElenType;

2.数组定义

//数组静态分配
typedef struct{
   
    ElemType data[MaxSize];  //数组名就是数组存放第一个元素的基地址
    int length;
}SqList;

//数组动态分配
typedef struct{
   
    ElemType *data;  //直接使用指针变量指向第一个元素的首地址
    int length;
}SqList
SqList L;
L.data=(ElemType*)malloc(sizeof(ElemType)*MaxSize);  
//(ElemType*)是指根据类型划分字节

3.C语言的内存动态分配

需要加载头文件&#

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值