资源介绍
大家好!现在我们将要开始一个穿越“数据结构、算法和程序”这个抽象世界的特殊旅程,
以解决现实生活中的许多难题。在程序开发过程中通常需要做到如下两点:一是高效地描述数
据;二是设计一个好的算法,该算法最终可用程序来实现。要想高效地描述数据,必须具备数
据结构领域的专门知识;而要想设计一个好的算法,则需要算法设计领域的专门知识。
在着手研究数据结构和算法设计方法之前,需要你能够熟练地运用C + +编程并分析程序,
这些基本的技能通常是从C + +课程以及其他分散的课程中学到的。本书的前两章旨在帮助你回
顾一下这些技能,其中的许多内容你可能已经很熟悉了。
本章我们将回顾C++ 的一些特性。因为不是针对C++ 新手,因此没有介绍诸如赋值语句、
if 语句和循环语句(如for 和w h i l e)等基本结构,而是主要介绍一些可能已经被你忽略的C + +
特性:
• 参数传递方式(如传值、引用和常量引用)。
• 函数返回方式(如返值、引用和常量引用)。
• 模板函数。
• 递归函数。
• 常量函数。
• 内存分配和释放函数:n e w与d e l e t e。
• 异常处理结构:t r y, c a t c h和t h r o w。
• 类与模板类。
• 类的共享成员、保护成员和私有成员。
• 友元。
• 操作符重载。
本章中没有涉及的其他C + +特性将在后续章节中在需要的时候加以介绍。本章还给出了如
下应用程序的代码:
• 一维和二维数组的动态分配与释放。
• 求解二次方程。
• 生成n 个元素的所有排列方式。
• 寻找n个元素中的最大值。
此外,本章还给出了如何测试和调试程序的一些技巧。