C语言数据结构详解
1. 目标与简介
1.1 学习目标
在学习C语言数据结构时,我们有以下几个主要目标:
- 为数据对象动态分配和释放内存。
- 利用指针、自引用结构和递归形成链接数据结构。
- 创建和操作链表、队列、栈和二叉树。
- 了解链接数据结构的重要应用。
- 学习指针和动态内存分配的安全C编程建议。
- 可选项目:构建自己的编译器。
1.2 数据结构简介
之前我们学习过固定大小的数据结构,如一维数组、二维数组和结构体。现在,我们将引入动态数据结构,这些结构可以在程序执行时增长和收缩。常见的动态数据结构有:
- 链表:数据项“排成一行”的集合,可以在链表的任何位置进行插入和删除操作。
- 栈:在编译器和操作系统中很重要,插入和删除操作只能在栈的一端(栈顶)进行。
- 队列:代表等待队列,插入操作只能在队列的尾部进行,删除操作只能在队列的头部进行。
- 二叉树:便于高速搜索和排序数据,能有效消除重复数据项,并将表达式编译成机器语言。
这些数据结构还有许多其他有趣的应用。我们将详细讨论每种主要类型的数据结构,并实现创建和操作它们的程序。
1.3 可选项目:构建自己的编译器
这是一个很有挑战性的项目。在这个项目中,你将构建自己的编译器。它会读取一个用简单但强大的高级语言编写的语句文件,并将这些语句翻译成Simpletron机器语言(SML)指令文件。之后,你的Simpletron模拟器程序将执行编译器生成的SML程序。这个项目能让你充分运用所学知识。
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



