顺序表的基本操作

一,线性表的定义

线性表:零个或多个数据元素的有限序列
注意:元素之间有顺序,并且是有限的。
如图
在这里插入图片描述
线性表元素的个数 n( n >= 0 ) 定义为线性表的长度,当 n = 0 时,称为空表。 i 为数据元素 ai 在线性表中的位序。

在复杂的线性表中,一个数据元素可以由若干个数据项组成


二,线性表的顺序存储结构
1.定义

线性表的顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素。
如图
在这里插入图片描述

2.属性

可以用C语言的一维数组来实现顺序存储结构。
线性表的顺序存储结构代码:

#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
   
	ElemType data[MAXSIZE];
	int length;
}SqList;

在此补充一下typedef的用法
typedef的4种用法
(1) 为基本数据类型定义新的类型名;
(2) 为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称;
以结构体为例,下面我们定义一个名为 Point 的结构体:

struct Point
{
    double x;
    double y;
    double z;
};

在调用这个结构体时,我们必须像下面的代码这样来调用这个结构体:

struct Point oPoint1={100,100,0};
struct Point oPoint2;

在这里,结构体 struct Point 为新的数据类型,在定义变量的时候均要向上面的调用方法一样有保留字 struct,而不能像 int 和 double 那样直接使用 Point 来定义变量。现在,我们利用 typedef 定义这个结构体,如下面的代码所示:

typedef struct tagPoint
{
    double x;
    double y;
    double z;
} Point;

在上面的代码中,实际上完成了两个操作:
1、定义了一个新的结构类型,代码如下所示:

struct tagPoint
{
    double x;
    double y;
    double z;
} ;

其中,struct 关键字和 tagPoint 一起构成了这个结构类型,无论是否存在 typedef 关键字,这个结构都存在。
2、使用 typedef 为这个新的结构起了一个别名,叫 Point,即:

typedef struct tagPoint Point

因此,现在你就可以像 int 和 double 那样直接使用 Point 定义变量,如下面的代码所示:

Point oPoint1={100,100,0};
Point oPoint2;

(3) 为数组定义简洁的类型名称
它的定义方法很简单,与为基本数据类型定义新的别名方法一样,示例代码如下所示:

typedef int INT_ARRAY_100[100];
INT_ARRAY_100 arr;

(4) 为指针定义简洁的名称

顺序存储结构的三个属性:
(1)存储空间的起始位置:数组 data;
(2&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值