overflow c语言_C语言表结构(一)

本文介绍了线性表的基本概念,包括其作为栈、队列等特殊形式的应用。线性表由具有相同性质的元素组成,采用顺序存储结构,即在内存中用一维数组表示。在C语言中,线性表的顺序结构定义为结构体数组,并提供了初始化顺序表的方法。
摘要由CSDN通过智能技术生成

线性表是一类最简单也是实际应用最多的线性数据结构。

线性表可以栈、队列、字符串、数组等特殊线性表的形式来使用。

线性表是n个元素的有限序列,元素可以是各种各样的,但必须具有相同的性质,属于同一数据对象。

本篇文章介绍线性表的顺序结构:即在内存中用地址连续有限的一块存储空间依次顺序存放线性表的各个元素,用这种存储形式存储的线性表称为顺序表。

假设线性表的每个元素占L个存储单元,若知道第一个元素的地址(基地址),设为Loc(a1),者第i个数据元素的地址为:Loc(ai)=Loc(a1)+(i-1)*L 1<

可见,只要知道基地址和每个元素所占空间的大小,就可以用相同的时间迅速求出任一元素的存储地址,因此顺序表是一种随即存储结构。在C语言中用一维数组来表示。

1、顺序存储结构的线性表类型定义如下:

#define MAXSIZE 100  //定义顺序表的最多容量typedef struct{  elementype data[MAXSIZE];  //存放线性表的数组  int length;  //当前长度}SqList;

线性表的顺序结构是一个结构体,其中数据域data是线性表中元素占用的数组空间。有于C语言中数组下标是从0开始的(假定线性表有n个元素),因此第(1<

2、顺序表的初始化:

/*顺序表的初始化*/int Initlist(SqList *L){  L->elem=(char *)malloc(LIST_INIT_SIZE*sizeof(char));  if(!L->elem)    exit(OVERFLOW)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值