线性表
来源:互联网 发布:万网域名注册查询网 编辑:程序博客网 时间:2024/06/06 01:32
线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。Balabala.....其实最简单的也就不用说了,上述是取自百度百科对于线性表的定义。而在这里,就简单说明下线性表的定义:
线性表是具有相同类型的n个数据元素的有限序列: (a1, a2, a3, a4, ......, an) ai是表项, n是表长度
或许大家应该能联想到数组,其实是和线性表是一个道理,性质如下:
1. a0为表首元素,只有一个后继
2. an为表尾元素,只有一个前驱
3. 除a0和an外的其他元素ai,既有前驱,又有后继
4. 线性表能够逐项访问和顺序存取
这里主要介绍线性表的常用操作:
l 创建线性表
l 销毁线性表
l 清空线性表
l 表元素插入
l 表元素删除
l 获取表中某个位置的元素
l 获取表长度
代码总分为三个文件:
SeqList.h : 放置功能函数的声明,以及表和表结点的声明
SeqList.h : 放置功能函数的定义,以及表和表结点的定义
Main.c : 主函数,使用功能函数完成各种需求,不过我一般是用作测试
用一副图来描述下代码的总体结构:
其实对于在SeqList.c 和SeqList.h文件中分别定义SeqList,我刚开始看的时候也不懂,在SeqList.c文件中每次使用函数参数中的list,需要强制类型转换为sList,后来才知道多了一次转换是为了更高的安全性和可靠性。
这里着重说下插入操作和删除操作:
插入操作:
如图
插入元素方法:
首先判断线性表﹑插入位置是否合法,表是否已满
把最后一个元素到插入位置的元素向后移一个位置
把新元素插入
最后把线性表长度加1
删除操作:
如图
删除元素方法:
首先判断线性表﹑删除位置是否合法
把要删除的元素取出
然后从删除元素后一个位置的元素到最后元素依次往前移一个位置
最后把线性表长度减1
- 线性表--线性存储
- 线性表 线性结构
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 静态链表
- Cg per-vertex diffuse lighting
- 分页控件:pager-taglib与SpringMVC结合实例2
- linux上mysql无法删除数据库
- 几个常用的android studio 插件
- 线性表
- eclipse中配置tomcat
- Ant 打包war 生成文件内容build.xml
- androoid_4_4 yuga_clm920_cn 4G_module调试
- 面试题目
- 可视化的数据结构和算法
- Android开发中父类与子类通讯的一个简单实现
- Http了解
- 第一招