C/C++与数据结构(第2版)

C/C++与数据结构(第2版)
作 者: 王立柱
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C/C++与数据结构(第2版)》作者简介

内容简介

编辑推荐:本书特点是综合:变量与指针,数组与指针,函数与指针是一个综合;C串与C++串是综合;快速排序和幂集问题归入前序遍历,HANIO问题归于中序遍历,堆排序和哈夫曼树是堆类的直接应用,八皇后问题在树的前序遍历中解决,这是综合;迷宫归于图的层次遍历,骑士巡游隶属图的前序遍历,这还是综合。本书的创新是从面向对象的高度重新组织C程序,为C++提供充分的感性基础。“C++不过是更好的C”,这在本书中得到充分的体现。本书的原则是学习数据结构和学习程序语言共进,它们的中介是算法。语言只有满足算法的需要才能被认识和掌握,数据结构只有依赖语言的发展才能拓展自己的应用领域。总之,每一部分没有独立存在的理由,它们的意义只有在它们的相互依赖,相互补充的关系中得到明确的解答。正是这种统一性,才产生了既可以助教又可以助学的多媒体软件——配书光盘。正是这种统一性,才使抽象类型与存储类型、算法每一步骤与程序每一行代码,C程序C++程序可以同时展现,相得益彰。

图书目录

第1章 机器语言程序简介

1. 1 电子计算机的基本组成及其工作过程

1. 2 机器语言程序设计

1. 3 子程序调用过程

习题

第2章 C语言基础

2. 1 基本类型变量和指针

2. 2 基本类型

2. 2. 1 整型

2. 2. 2 字符型

2. 2. 3 实型

2. 2. 4 指针类型 地址类型

2. 2. 5 不同类型数据的混合运算

2. 2. 6 强制类型转换

2. 2. 7 混合赋值和复合的赋值运算符

2. 3 一维数组和指针

2. 3. 1 一维数组

2. 3. 2 指针

2. 3. 3 一维数组和指针变量的比较

2. 3. 4 void指针

2. 4

维数组和指针

2. 4. 1 二维数组和二维指针

2. 4. 2 二维数组和一维指针

2. 4. 3 指针数组和指针的指针

2. 5 结构和指针

2. 5. 1 结构变量

2. 5. 2 结构指针和数组

2. 6 枚举类型

2. 7 类型名选择

2. 8 条件表达式与控制语句

2. 8. 1 关系运算

2. 8. 2 逻辑运算

2. 8. 3 条件控制语句

2. 8. 4 循环控制语句

2. 8. 5 break语句和continue语句

2. 8. 6 逗号运算符

2. 9 函数

2. 9. 1 函数与指针

2. 9. 2 函数调用与变量的存储类别

2. 9. 3 动态单元的分配和释放

2. 10 指针参量

2. 11 输入输出函数

2. 11. 1 printf函数

2. 11. 2 scanf函数

2. 11. 3 getchar函数和putchar函数

2. 12 编译预处理

2. 12. 1 文件包含处理

2. 12. 2 无参宏定义

2. 12. 3 带参宏定义

2. 12. 4 条件编译

2. 13 流与文件

2. 13. 1 流与文件概述

2. 13. 2 文件打开关闭函数

2. 13. 3 无格式读写函数

2. 13. 4 字符读写函数

2. 13. 5 字符串读写函数

2. 13. 6 其他常用写函数

2. 13. 7 文件复制

2. 14 初始化与赋值

2. 15 程序设计综合举例

2. 15. 1 起泡排序

2. 15. 2 删除重复数据

2. 15. 3 数制转换

2. 15. 4 回文

2. 15. 5 约瑟夫问题 Josephus

2. 15. 6 划分数组元素

2. 15. 7 模拟人工洗牌

2. 15. 8 三天打鱼两天晒网

2. 15. 9 筛法求素数

2. 15. 10 保序插入

2. 15. 11 折半查找

2. 15. 12 打印年历

习题

第3章 数据结构概论

3. 1 数据结构和数据类型

3. 2 算法和程序

3. 3 算法分析

习题

第4章 顺序表

习题

第5章 顺序队列

5. 1 顺序队列的定义

5. 2 队列与文件

习题

第6章 顺序栈

6. 1 顺序栈的定义

6. 2 中缀表达式求值

习题

第7章 字符串

7. 1 C语言串

7. 2 新类型串

习题

第8章 链表

8. 1 单向链式存储结构

8. 2 单向链表

8. 3 双向链式存储结构

8. 4 双向链表

习题

第9章 链队列

9. 1 链队列的定义

9. 2 事件驱动模拟

习题

第10章 二叉树

10. 1 二叉树的概念和性质

10. 1. 1 树和二叉树的概念

10. 1. 2 二叉树的性质

10. 2 二叉树的存储

10. 2. 1 顺序存储结构

10. 2. 2 链式存储结构

10. 3 二叉树层次遍历

10. 3. 1 层次遍历

10. 3. 2 建立二叉链表

10. 3. 3 垂直输出二叉树

10. 4 二叉树的前序遍历

10. 4. 1 前序遍历

10. 4. 2 求二叉树从根至叶子的所有路径

10. 4. 3 求集合的幂集

10. 4. 4 快速排序

10. 5 二叉树中序遍历

10. 5. 1 汉诺塔问题

10. 5. 2 由前序和中序序列建立二叉链表

10. 6 二叉树后序遍历

10. 7 递归评估

10. 8 递归遍历的模拟

10. 8. 1 递归前序遍历的模拟

10. 8. 2 递归中序遍历的模拟

10. 8. 3 递归后序遍历的模拟

10. 9 堆

10. 10 哈夫曼树

10. 10. 1 哈夫曼树的定义

10. 10. 2 建立哈夫曼树

10. 10. 3 哈夫曼编码

10. 11 二叉搜索树

10. 12 平衡二叉搜索树

10. 13 线索二叉树

习题

第11章 树

11. 1 树的存储与遍历

11. 1. 1 树的存储

11. 1. 2 树的层次遍历

11. 1. 3 树的前序遍历

11. 1. 4 树的后序遍历

11. 2 八皇后问题

11. 3 八皇后解的图形输出

11. 3. 1 图形系统初始化

11. 3. 2 图形设计与实现

习题

第12章 图

12. 1 图的概念和存储

12. 1. 1 图的概念

12. 1. 2 邻接矩阵表示法

12. 1. 3 邻接表表示法

12. 2 图的遍历

12. 2. 1 广度遍历

12. 2. 2 深度遍历

12. 3 最小生成树

12. 4 单源最短路径

12. 5 拓扑排序

12. 6 关键路径

12. 7 迷宫求解

12. 8 骑士巡游和汉密尔顿路

习题

第13章 C 程序

13. 1 C 对C的基本扩充

13. 1. 1 注释和输入输出语句

13. 1. 2 作用域说明

13. 1. 3 默认函数

13. 1. 4 引用

13. 1. 5 常量修饰符const

13. 1. 6 内存的动态申请和释放

13. 2 C 的基本要素

13. 2. 1 类和对象

13. 2. 2 this指针

13. 2. 3 友元

13. 2. 4 外部运算符重载

13. 2. 5 初始化与赋值

13. 3 重载

13. 3. 1 函数重载

13. 3. 2 成员和友元运算符重载

13. 4 形式数据类型

13. 4. 1 模板函数

13. 4. 2 模板类

13. 4. 3 中缀表达式求值

13. 5 继承和抽象类

13. 5. 1 继承

13. 5. 2 派生类中的构造函数和析构函数

13. 5. 3 虚函数

13. 5. 4 纯虚函数和抽象类

习题

第14章 C 的I/O流库

14. 1 屏幕输出

14. 1. 1 预定义的插入符

14. 1. 2 成员函数put

14. 1. 3 成员函数write

14. 2 键盘输入

14. 2. 1 预定义的提取符

14. 2. 2 成员函数get, getline

14. 2. 3 成员函数read

14. 3 插入符和提取符的重载

14. 4 格式化输入输出

14. 4. 1 设置流的格式化标志

14. 4. 2 格式输出函数

14. 4. 3 操作子

14. 5 文件

14. 5. 1 文件的打开关闭函数

14. 5. 2 无格式读写函数

14. 5. 3 字符读写函数

14. 5. 4 字符串读写函数

14. 5. 5 随机访问

14. 5. 6 文件错误处理

参考文献