线性表实例

本文探讨了线性表的本质,包括专业的定义和性质。详细介绍了线性表的操作,并重点解析了线性表的顺序存储结构,分析其优缺点。通过具体的实例,帮助读者深入理解线性表的应用。
摘要由CSDN通过智能技术生成

线性表的本质:

由0个或多个数据元素组成的集合
数据元素之间是顺序的
数据元素个数是有限的
数据元素的类型必须是相同的

专业的定义:

线性表是具有相同类型的n(n>=0)个数据元素的有限序列(a0,a1,a2,...an)
ai是表项,n是长度

性质:

a0为线性表中的第一个元素,只有一个后继
an为线性表中的最后一个元素,只有一个前驱
除了a0和an之外的其他元素ai,既有一个直接前驱,也有一个直接后继
线性表能够逐项访问和顺序存取

线性表的操作

创建
销毁        //销毁这个序列,
清空        //有这个序列,但都被清空
删除
插入
获取表中某个位置的数据元素
获得线性表的长度

线性表的顺序存储结构

线性表的顺序结构指的是用一段地址连续的存储单元依次存储线性表的数据元素

优缺点

优点:可以快速的获得表中的数据
缺点:增加和删除的时候会有大量的节点移动

实例如下:

//seqlist.h文件

#ifndef __SEQLIST_H__
#define __SEQLIST_H__

typedef unsigned int SeqListNode;
typedef struct _list
{
    int capacity;   //最大容量
    int length;     //当前元素个数
    SeqListNode *node;      //起始地址
}SeqList;

SeqList *SeqList_Create(int capacity);
void SeqList_Destroy(SeqList *list);
void SeqList_Clear(SeqList *list);
int SeqList_Length(SeqList *list);
int SeqList_Capacity(SeqList *list);
int SeqList_Insert(SeqList *list,SeqListNode *node,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值