《ACM程序設計(第2版)》詳細講解了ACM國際大學生程序設計競賽(ACM/ICPC)編程、調(diào)試方法,以及提高時間、空間性能的策略,并充分利用了C++泛型編程的高效率、規(guī)范化的特性,全部采用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 簡要規(guī)則
1.1.3 區(qū)域和全球決賽
1.1.4 歷屆冠軍
1.1.5 在線評測系統(tǒng)(online judge)
1.1.6 試題樣例
1.2 用dev-c++編寫控制臺程序
1.2.1 例題
1.2.2 操作
1.3 acm競賽本機調(diào)試方法
1.3.1 競賽樣題
1.3.2 本機調(diào)試步驟
1.4 realoj源程序在線評測系統(tǒng)在線實驗
1.4.1 競賽樣題
1.4.2 提交代碼
第2章 c++stl泛型編程
2.1 c++stl概述
2.1.1 c++stl的實現(xiàn)版本
2.1.2 c++stl組件
2.1.3 c++stl泛型編程示例
2.1.4 vc++6.0泛型編程
2.2 vector向量容器
2.2.1 創(chuàng)建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 創(chuàng)建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類型的數(shù)字化處理
2.3.15 string對象與字符數(shù)組互操作
2.3.16 string對象與sscanf函數(shù)
2.3.17 string對象與數(shù)值相互轉換
2.4 set集合容器
2.4.1 創(chuàng)建set集合對象
2.4.2 元素的插入與中序遍歷
2.4.3 元素的反向遍歷
2.4.4 元素的刪除
2.4.5 元素的檢索
2.4.6 自定義比較函數(shù)
2.5 multiset多重集合容器
2.5.1 multiset元素的插入
2.5.2 multiset元素的刪除
2.5.3 查找元素
2.6 map映照容器
2.6.1 map創(chuàng)建、元素插入和遍歷訪問
2.6.2 刪除元素
2.6.3 元素反向遍歷
2.6.4 元素的搜索
2.6.5 自定義比較函數(shù)
2.6.6 用map實現(xiàn)數(shù)字分離
2.6.7 數(shù)字映照字符的map寫法
2.7 multimap多重映照容器
2.7.1 multimap對象創(chuàng)建、元素插入
2.7.2 元素的刪除
2.7.3 元素的查找
2.8 deque雙端隊列容器
2.8.1 創(chuàng)建deque對象
2.8.2 插入元素
2.8.3 前向遍歷
2.8.4 反向遍歷
2.8.5 刪除元素
2.9 list雙向鏈表容器
2.9.1 創(chuàng)建list對象
2.9.2 元素插入和遍歷
2.9.3 反向遍歷
2.9.4 元素刪除
2.9.5 元素查找
2.9.6 元素排序
2.9.7 剔除連續(xù)重復元素
2.10 bitset位集合容器
2.10.1 創(chuàng)建bitset對象
2.10.2 設置元素值
2.10.3 輸出元素
2.11 stack堆棧容器
2.12 queue隊列容器
2.13 priority-queue優(yōu)先隊列容器
2.13.1 優(yōu)先隊列的使用方法
2.13.2 重載“[”操作符來定義優(yōu)先級
2.13.3 重載“()”操作符來定義優(yōu)先級
第3章 acm程序設計基礎
第4章 acm程序設計實戰(zhàn)
附錄1 用vc++編寫控制臺程序的方法
附錄2 本書試題第三方acm網(wǎng)站鏈接
參考文獻