内容简介
《ACM程序设计(第2版)》详细讲解了ACM国际大学生程序设计竞赛(ACM/ICPC)编程、调试方法,以及提高时间、空间性能的策略,并充分利用了C++泛型编程的高效率、规范化的特性,全部采用C++泛型编程。
第1章讲解了ACM程序设计入门知识;第2章讲解了C++泛型编程的容器、迭代器和常用算法;第3章讲解了ACM程序设计的基本编程技巧;第4章讲解了50道原版ACM竞赛题的解题思路,并配有C++泛型编程参考答案和题目的中文翻译。
《ACM程序设计(第2版)》是一本专门针对ACM国际大学生程序设计竞赛而编写的入门教程,适合参加ACM/ICPC的大学生和C++编程爱好者学习,对ACM/ICPC竞赛教练也具有一定的指导作用。
目录
第1章 acm程序设计入门
1.1 acm/icpc简介
1.1.1 历史
1.1.2 简要规则
1.1.3 区域和全球决赛
1.1.4 历届冠军
1.1.5 在线评测系统(online judge)
1.1.6 试题样例
1.2 用dev-c++编写控制台程序
1.2.1 例题
1.2.2 操作
1.3 acm竞赛本机调试方法
1.3.1 竞赛样题
1.3.2 本机调试步骤
1.4 realoj源程序在线评测系统在线实验
1.4.1 竞赛样题
1.4.2 提交代码
第2章 c++stl泛型编程
2.1 c++stl概述
2.1.1 c++stl的实现版本
2.1.2 c++stl组件
2.1.3 c++stl泛型编程示例
2.1.4 vc++6.0泛型编程
2.2 vector向量容器
2.2.1 创建vector对象
2.2.2 尾部元素扩张
2.2.3 下标方式访问vector元素
2.2.4 用迭代器访问vector元素
2.2.5 元素的插入
2.2.6 元素的删除
2.2.7 使用reverse反向排列算法
2.2.8 使用sort算法对向量元素排序
2.2.9 向量的大小
2.3 string基本字符系列容器
2.3.1 创建string对象
2.3.2 给string对象赋值
2.3.3 从string对象尾部添加字符
2.3.4 从string对象尾部追加字符串
2.3.5 给string对象插入字符
2.3.6 访问string对象的元素
2.3.7 删除string对象的元素
2.3.8 返回string对象的长度
2.3.9 替换string对象的字符
2.3.10 搜索string对象的元素或子串
2.3.11 string对象的比较
2.3.12 用reverse反向排序string对象
2.3.13 string对象作为vector元素
2.3.14 string类型的数字化处理
2.3.15 string对象与字符数组互操作
2.3.16 string对象与sscanf函数
2.3.17 string对象与数值相互转换
2.4 set集合容器
2.4.1 创建set集合对象
2.4.2 元素的插入与中序遍历
2.4.3 元素的反向遍历
2.4.4 元素的删除
2.4.5 元素的检索
2.4.6 自定义比较函数
2.5 multiset多重集合容器
2.5.1 multiset元素的插入
2.5.2 multiset元素的删除
2.5.3 查找元素
2.6 map映照容器
2.6.1 map创建、元素插入和遍历访问
2.6.2 删除元素
2.6.3 元素反向遍历
2.6.4 元素的搜索
2.6.5 自定义比较函数
2.6.6 用map实现数字分离
2.6.7 数字映照字符的map写法
2.7 multimap多重映照容器
2.7.1 multimap对象创建、元素插入
2.7.2 元素的删除
2.7.3 元素的查找
2.8 deque双端队列容器
2.8.1 创建deque对象
2.8.2 插入元素
2.8.3 前向遍历
2.8.4 反向遍历
2.8.5 删除元素
2.9 list双向链表容器
2.9.1 创建list对象
2.9.2 元素插入和遍历
2.9.3 反向遍历
2.9.4 元素删除
2.9.5 元素查找
2.9.6 元素排序
2.9.7 剔除连续重复元素
2.10 bitset位集合容器
2.10.1 创建bitset对象
2.10.2 设置元素值
2.10.3 输出元素
2.11 stack堆栈容器
2.12 queue队列容器
2.13 priority-queue优先队列容器
2.13.1 优先队列的使用方法
2.13.2 重载“[”操作符来定义优先级
2.13.3 重载“()”操作符来定义优先级
第3章 acm程序设计基础
第4章 acm程序设计实战
附录1 用vc++编写控制台程序的方法
附录2 本书试题第三方acm网站链接
参考文献
前言/序言
ACM程序设计(第2版) 下载 mobi epub pdf txt 电子书 格式