1

第2章 线性表

2.1 线性表的定义及其基本操作

2.2 线性表的顺序存储

2.3 线性表的链式存储

2.4 线性表的存储方式小结

仔佳痴腔慎析沙析增孙丸斌明躬烟议怠鸭顷扣战突邑菩置慰训即檬氨酵涟数据结构(c语言)3数据结构(c语言)3

2

线性结构是一种简单的数据结构。这种结构具有以下特点:在数据元素的非空有限集合中,有且只有一个“首”数据元素;有且只有一个 “末”数据元素;除“首”数据元素外,其它数据元素有且只有一个直接前驱;除“末”数据元素外,其它数据元素有且只有一个直接后继。线性表属于线性结构的范畴,是最常用的数据结构。

2.1 线性表的定义及其基本操作

颤屋就棘魔允拌宾戒滴擞狰僳习未惶易贵续迪草虚简峰垃掩晋卵憋真水揪数据结构(c语言)3数据结构(c语言)3

3

线性表(linear list)是具有相同数据类型的n(n≥0)个数据元素a1,a2,…an组成的有限序列。其中n 称为数据元素的个数或线性表的长度,当n=0时称为空表,n>0时称为非空表。通常将非空的线性表记为(a1,a2,…,ai-1,ai,ai+1,…,an),其中数据元素ai(1≤i≤n)是线性表中第i个数据元素,它是一个抽象的符号,其数据类型可以根据具体情况而定,i称为数据元素ai在线性表中的位序。

2.1.1 线性表的定义

鲜粕暖橙禽昆桶蕊璃洼苦傣翠妖啄婿幌最昏饭鼻便湃象斧稼夸摘睫柬吉敛数据结构(c语言)3数据结构(c语言)3

例2.1 大写英文字母表:(A,B,C,D……,Y,Z),其中每个字母为一个数据元素,A是字母序列的“首”数据元素,Z是字母序列的“末”数据元素,其它每个字母有且只有一个直接前驱和一个直接后继,这个序列是一个线性表。

例2.2 教师信息表,其中每位教师的有关信息为一个数据元素,所有教师的信息集合构成一个线性表。

秃态谴叔汾烫证努搔设嫉荷照蹈倡虱烧痰接转扶烃既酋苞厂默靶缀罚橙扫数据结构(c语言)3数据结构(c语言)3

5

2.1.2 线性表的基本操作

(1)InitList(*L):

(2)InsItem(*L,i,item):

(3)DelItem(*L,i):

(4)ClearList(*L):

(5)ListEmpty(*L):

(6)LenList(*L):

(7)LocItem(*L,item):

(8)GetItem(*L,i,item):

(9)GetPrior(*L,item,&prior):

(10)GetNext(*L,item,&next):

研畏锋胚椅赛汕库整悟炒闹启泡聊狰逐英试宋禽亡代瞒很恿街驰撞始孵瓜数据结构(c语言)3数据结构(c语言)3

6

2.2.1 顺序表的定义

所谓顺序表,就是在内存中开辟一片连续的存储空间,将线性表中数据元素按照数据元素之间的逻辑顺序依次存放其中,需注意的是该连续存储空间所能容纳的数据元素个数不得小于顺序表的长度。

在顺序表中,逻辑关系相邻的两个元素在物理位置上也相邻。线性表的顺序存储结构很容易确定每个数据元素在存储单元中起始地址的相对位置:假设线性表中元素为(a1,a2,…,ai-1,ai,ai+1,…,an),设第一个元素a1的内存地址为LOC(a1) ,而每个元素在计算机内占t个存贮单元,则第i个元素ai的首地址LOC(ai)为:

LOC(ai)=LOC(a1)+(i-1)×t (其中1≤i≤n)

2.2 线性表的顺序存储

培办琶迸汉凰纶纶鳞卷觅瞧喂碧悠秽婪旧辙况俏厂惠蹬庭抑湃佐弛惫阶尿数据结构(c语言)3数据结构(c语言)3

7

例2.3 设有顺序表S,其描述如下:

typedef struct

{

char no[10];

char name[20];

float grade[3];

float aver;

}Student;

Student t[30];

线性表中每个数据元素所占存储单元为10*1+20*1+3*4+1*4=46,假设顺序表中第一个数据元素的存储地址为d,则第i个数据元素的存储地址为d+(i-1)×46。

鬃倍梗书杆涪囊传摧皖配谍股纠拳啤状尺撒点咯建庚勒螟碘裔脊楼组柿订数据结构(c语言)3数据结构(c语言)3

8

由于顺序表的表长通常是可变的,因此可定义一个整型变量来记录表长,且需要定义一个足够大的数组来保存数据。

#define MAXSIZE maxlen

typedef int

C语言前驱和后继字母,数据结构(c语言)3.ppt相关推荐

  1. C语言前驱和后继字母,C语言程序设计练习题目

    <C语言程序设计练习题目>由会员分享,可在线阅读,更多相关<C语言程序设计练习题目(14页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计练习题目1.求两数之和#inclu ...

  2. 数据结构c语言版第16页,数据结构c语言版

    数据结构c语言版[编辑] 概述 <数据结构C语言版>本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及综合分析比较 出版信息 ...

  3. 数据结构C语言 胡学钢 PDF,数据结构(C语言版) 胡学钢.ppt

    数据结构(C语言版) 胡学钢 2.3 链表--单链表的应用(头结点) 设计算法,判断带头结点单链表L是否递增?若递增,则返回true,否则返回false. 分析: (1)链表空,返回true: (2) ...

  4. 为什么C语言是非形式化的,《数据结构C语言版》——绪论

    <数据结构C语言版>--绪论<笔记> 一.基本概念和术语 1.数据,数据元素, 数据项,数据对象 数据:是客观事物的符号表示,是所有能够输入到计算机中并被计算机程序处理的符号的 ...

  5. c语言折半查找输出坐标,数据结构(C语言版)——有序表查找(折半查找)(代码版)...

    数据结构(C语言版)--有序表查找(折半查找)(代码版) 数据结构(C语言版)--有序表查找(折半查找)(代码版) #include #include #define ERROR 0 #define ...

  6. c语言线性表库函数大全,数据结构(C语言版)-线性表习题详解

    <数据结构(C语言版)-线性表习题详解>由会员分享,可在线阅读,更多相关<数据结构(C语言版)-线性表习题详解(23页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构 ,线 ...

  7. 数据结构c语言版实验报告2,数据结构(C语言版) 实验报告 (2)

    <数据结构(C语言版) 实验报告 (2)>由会员分享,可在线阅读,更多相关<数据结构(C语言版) 实验报告 (2)(15页珍藏版)>请在人人文库网上搜索. 1.数据结构(C语言 ...

  8. c语言用数字代表字母,使用c语言判断数字字母

    广告 提供50多种云计算产品,包括云服务器和云. 创建一站式云产品试用服务,以帮助开发人员和企业以零门槛进入云环境. 是用于标识实体的符号. 它用于命名变量名称,函数名称,标签和其他各种用户定义的对象 ...

  9. 数据结构使用c语言第5版答案,数据结构(c语言版)第五章答案.doc

    数据结构(c语言版)第五章答案.doc 第五章1.设二维数组A[8][10]是一个按行优先顺序存储在内存中的数组,已知A[0][0]的起始存储位置为1000,每个数组元素占用4个存储单元,求(1)A[ ...

最新文章

  1. 使用原生JavaScript
  2. Django中的Session与Cookie
  3. 【Linux】一步一步学Linux——ncat命令(159)
  4. Duilib教程-自动布局2
  5. 《深入理解Nginx 模块开发与架构解析》之高级数据结构摘录
  6. 创建自定义验证控件(1)
  7. linux下I2C驱动架构全面分析
  8. html怎么定位到不同的页面,html页面定位到指定位置的4种实现方式
  9. 华为主导 5G 入网之争?
  10. hdu1865 1sting
  11. 灭屏取消过温减流功能
  12. gtx1050ti最稳定的驱动_笔记本1050ti显卡安装最新驱动版本 (415.27) 记录 NVIDIA显卡GeForce系列...
  13. 数值计算之第四期:追赶法和范数
  14. Windows:电源计划:隐藏在深处的卓越性能,Get正确打开方式
  15. cesium three性能比较_高中英语中的“形容词”,形容词的用法,比较等级及修饰词...
  16. Linux 安装 JDK
  17. 计算机软考论文网络真题,2017上半年软考中级信息系统项目管理师真题论文
  18. edg击败we视频_edg击败we视频_LPL夏季赛:EDG零封V5获三连胜 OMG2-1击败WE
  19. 中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障---08
  20. 如何将程序打包成exe

热门文章

  1. ev3编程 python_Micropython 与EV3
  2. 学生管理系统——PHP
  3. 安势信息入选 SegmentFault思否「2022 中国新锐技术先锋企业」
  4. 我的奇思妙想机器人消防员_我的奇思妙想——睡眠机器人-三年级作文
  5. arcgis 界线外 遮盖_ArcGIS按行政界线批量导出地图
  6. 网络营销为传统零售企业增效
  7. 2022最新Android面试题目解答,Android MVP模式详解
  8. SRAM的性能及结构
  9. Vue的全局事件总线实现任意组件间通信
  10. PS | 文字自适应箱子物体形状, 利用滤镜消失点给纸箱加文字