C语言与程序设计-曹计昌-第14章.pptVIP

  • 12
  • 0
  • 约 126页
  • 2017-07-08 发布于浙江
  • 举报
华中科技大学计算机学院C语言课程组 C语言与程序设计 The C Programming Language 第14章 线性数据结构 本章首先介绍C语言的动态存储分配函数,进行动态数组设计。 然后从自引用结构、动态创建结点和相关操作等方面介绍单向链表、双向链表和十字交叉链表。 并进一步介绍堆栈、队列,以及基于线性数据结构的深度优先搜索、广度优先搜索等各种算法。 这些数据结构和算法在程序设计中起着基础性作用,需要熟练掌握。 14.1 动态存储分配 14.1.1 静态数据结构和动态数据结构 到目前为止,本书中介绍的各种基本类型和导出类型的数据结构都是静态数据结构。 静态数据结构指在变量声明时建立的数据结构。 在变量声明时如何对变量进行存储分配也确定了,并且在程序的执行过程中不能改变。 动态数据结构是在程序运行过程中通过调用系统提供的动态存储分配函数,向系统申请存储而逐步建立起来的。 在程序运行过程中,动态数据结构所占存储的大小可以根据需要调节,使用完毕时可以通过释放操作将所获得的存储交还给系统供再次分配。 由于系统提供的动态存储分配函数的返回值是指向所分配存储的起始地址的指针,因此动态数据对象没有名字,对动态数据对象的访问只能通过指针进行。 14.1.1 静态数据结构和动态数据结构 数据结构可以分为线性数据结构和非线性数据结构。 前者涉及链表、栈、队列等; 后者主要涉

文档评论(0)

1亿VIP精品文档

相关文档