数据结构基础:enum与struct示例与应用

需积分: 15 3 下载量 116 浏览量 更新于2024-07-11 收藏 702KB PPT 举报
在清华大学的严谨版本教材中,数据结构这一章节探讨了数据类型和数据结构的基础概念。首先,引入了一个名为`elemtag`的枚举类型,用于定义两种基本元素类型:`ATOM`和`LIST`。这是一种简化的方式来表示数据元素的不同形态,可能是原子类型(如整数或字符)或链表形式的数据结构。 紧接着,定义了一个名为`glist`的结构体,它是一个指向包含`tag`和`union`的指针。`tag`字段用来指示元素的具体类型,`union`则根据`tag`的值,包含不同的组成部分。如果`tag`为`ATOM`,则`union`中存储的是`atomtype`类型的原子数据;如果`tag`为`LIST`,则`union`中的`ptr`成员是一个指向`glist`结构体的指针,表示一个链表的头部和尾部。 教材通过实际案例来阐述数据结构的重要性。例如,电话号码查询系统的实现,其背后就是一种数据结构的选择问题。数据的存储方式,如二维数组、表结构或向量,直接影响查找和操作的效率。在图书馆书目检索系统、教师资料档案管理系统以及多叉路口交通灯的管理中,数据结构的设计同样起着关键作用。 数据结构的研究不仅关注数据的逻辑结构,如元素之间的关系,还涉及物理结构,即数据在计算机内存中的布局。它定义了一系列针对特定结构的运算,确保这些运算不会改变数据的原始类型。例如,对于向量,可能需要支持插入、删除、查找等操作,而对于链表,可能需要实现节点的添加、删除和遍历功能。 1.2节介绍了数据结构中的基本概念和术语,如数据(Data)通常指计算机中的信息单元,它是数据结构的基础。数据的存储方式决定了其处理效率,而数据的逻辑结构和物理结构之间的映射则是数据结构的核心。术语方面,可能涉及数组、链表、树、图等不同数据结构,以及它们的特性和操作方法,如顺序访问、随机访问、线性结构、非线性结构等。 本章节通过实例和概念的结合,帮助读者理解数据结构在计算机程序设计中的核心地位,强调了不同类型数据结构的选择和操作对于提升算法效率的关键作用。学习数据结构对于理解和优化各种软件系统至关重要,无论是基本的查找操作还是复杂的系统设计,数据结构都是不可或缺的基础。