14 2.4线性表的顺序表示和实现(青岛大学-王卓)笔记

文章讨论了线性表、多项式和图书表的顺序存储结构,强调了顺序表的地址连续、随机存取特性,并通过C语言的结构体展示了如何定义和操作这些数据结构,包括动态增长的可能性。
摘要由CSDN通过智能技术生成

线性表的特点:以物理位置相邻表示逻辑关系,任意一个元素均可以随机存取(优点)

LOC(ai).....LOC(ai)+(maxlen-1)*l

顺序表与数组一致

1.地址连续

2.依次存放

3.随机存取

4.类型相同

不同点:线性表可变(删除)

数组长度不可动态定义

如:数组的定义:类型说明符 数组名[常量表达式];常量表达式可以包含常量和符号常量,不能包含变量。

用一变量表示顺序表的长度属性

#include LIST_INIT_SIZE 100//线性表存储空间的初始分配量
typedef struct{
ElemType elem[LIST_INIT_SIZE];
int length;//当前长度
}SqList;

关于多项式的顺序存储结构类型定义

pn(x)=p1*x^e1+p2*x^e2+p3*x^e3........+pm*x^em;

线性表P=((p1,e1),(p2,e2),.....(pm,em));

#include MAXSIZE 1000//多项式可能达到的最大长度

typedef struct{//多项式非0项的定义

float p;//系数

int e;//系数

}Polynomial;

typedef struct{

Polynominal *elem;//存储空间的基地址

int length;//多项式中的当前项的个数

}SqList;//多项式的顺序存储结构类型为SqList

图书表的顺序存储结构类型定义

#include MAXSIZE 10000//图书表达到的最大长度

typedef struct{//图书馆信息定义

char no[20];//图书ISBN

char name[50];//图书名字

float price;//图书价格

}Book;

typedef struct{

Book *elem;//存储空间的基地址

int length;//图书表中当前图书个数

}SqList;//图书表的顺序存储结构类型为SqList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值