├── all ├── 排序-桶排序.cpp ├── 搜索-宽搜.cpp ├── 搜索-深搜.cpp ├── 高精度-乘法.cpp ├── 高精度-减法.cpp ├── 高精度-加法.cpp ├── STL-heap.cpp ├── 分治-二分答案.cpp ├── 分治-归并排序.cpp ├── 分治-快速排序.cpp ├── 图论-强连通分量.cpp ├── 排序-冒泡排序.cpp ├── 排序-插入排序.cpp ├── 排序-选择排序.cpp ├── 数据结构-线性表.cpp ├── 递推-递推关系.txt ├── 高精度-除法 .cpp ├── 高精度-除法朴素.cpp ├── STL-sort().cpp ├── 搜索-Astart.cpp ├── 数据结构-堆Heap.cpp ├── 图论-割点-Tarjan.cpp ├── 图论-割边-Tarjan.cpp ├── 图论-拓扑排序-Kahn.cpp ├── 图论-最小生成树-Kruskal.cpp ├── 数据结构-二叉树BiTree.cpp ├── 数据结构-哈希表Hash-拉链法.cpp ├── 数据结构-堆Heap-堆排序1.cpp ├── 数据结构-堆Heap-堆排序2.cpp ├── STL-priority_queue.cpp ├── 图论-二分图-最大匹配-匈牙利算法.cpp ├── 图论-单源最短路径SSSP-SPFA.cpp ├── 图论-强连通分量-Kosaraju.cpp ├── 图论-最小生成树-Prim+Heap.cpp ├── 数据结构-队列Queue-循环队列.cpp ├── 图论-多源最短路径ASSP-Floyd.cpp ├── 图论-最近公共祖先-TarjanLCA.cpp ├── 数据结构-并查集FindUnionSet.cpp ├── STL-stack .txt ├── 图论-单源最短路径SSSP-Dijkstra+Heap.cpp ├── STL-queue.txt ├── STL-vector.txt ├── 数据结构-栈Stack.cpp └── 数据结构-队列Queue.cpp └── README.md /all/排序-桶排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/排序-桶排序.cpp -------------------------------------------------------------------------------- /all/搜索-宽搜.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/搜索-宽搜.cpp -------------------------------------------------------------------------------- /all/搜索-深搜.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/搜索-深搜.cpp -------------------------------------------------------------------------------- /all/高精度-乘法.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/高精度-乘法.cpp -------------------------------------------------------------------------------- /all/高精度-减法.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/高精度-减法.cpp -------------------------------------------------------------------------------- /all/高精度-加法.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/高精度-加法.cpp -------------------------------------------------------------------------------- /all/STL-heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/STL-heap.cpp -------------------------------------------------------------------------------- /all/分治-二分答案.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/分治-二分答案.cpp -------------------------------------------------------------------------------- /all/分治-归并排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/分治-归并排序.cpp -------------------------------------------------------------------------------- /all/分治-快速排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/分治-快速排序.cpp -------------------------------------------------------------------------------- /all/图论-强连通分量.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-强连通分量.cpp -------------------------------------------------------------------------------- /all/排序-冒泡排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/排序-冒泡排序.cpp -------------------------------------------------------------------------------- /all/排序-插入排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/排序-插入排序.cpp -------------------------------------------------------------------------------- /all/排序-选择排序.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/排序-选择排序.cpp -------------------------------------------------------------------------------- /all/数据结构-线性表.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-线性表.cpp -------------------------------------------------------------------------------- /all/递推-递推关系.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/递推-递推关系.txt -------------------------------------------------------------------------------- /all/高精度-除法 .cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/高精度-除法 .cpp -------------------------------------------------------------------------------- /all/高精度-除法朴素.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/高精度-除法朴素.cpp -------------------------------------------------------------------------------- /all/STL-sort().cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/STL-sort().cpp -------------------------------------------------------------------------------- /all/搜索-Astart.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/搜索-Astart.cpp -------------------------------------------------------------------------------- /all/数据结构-堆Heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-堆Heap.cpp -------------------------------------------------------------------------------- /all/图论-割点-Tarjan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-割点-Tarjan.cpp -------------------------------------------------------------------------------- /all/图论-割边-Tarjan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-割边-Tarjan.cpp -------------------------------------------------------------------------------- /all/图论-拓扑排序-Kahn.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-拓扑排序-Kahn.cpp -------------------------------------------------------------------------------- /all/图论-最小生成树-Kruskal.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-最小生成树-Kruskal.cpp -------------------------------------------------------------------------------- /all/数据结构-二叉树BiTree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-二叉树BiTree.cpp -------------------------------------------------------------------------------- /all/数据结构-哈希表Hash-拉链法.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-哈希表Hash-拉链法.cpp -------------------------------------------------------------------------------- /all/数据结构-堆Heap-堆排序1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-堆Heap-堆排序1.cpp -------------------------------------------------------------------------------- /all/数据结构-堆Heap-堆排序2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-堆Heap-堆排序2.cpp -------------------------------------------------------------------------------- /all/STL-priority_queue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/STL-priority_queue.cpp -------------------------------------------------------------------------------- /all/图论-二分图-最大匹配-匈牙利算法.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-二分图-最大匹配-匈牙利算法.cpp -------------------------------------------------------------------------------- /all/图论-单源最短路径SSSP-SPFA.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-单源最短路径SSSP-SPFA.cpp -------------------------------------------------------------------------------- /all/图论-强连通分量-Kosaraju.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-强连通分量-Kosaraju.cpp -------------------------------------------------------------------------------- /all/图论-最小生成树-Prim+Heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-最小生成树-Prim+Heap.cpp -------------------------------------------------------------------------------- /all/数据结构-队列Queue-循环队列.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-队列Queue-循环队列.cpp -------------------------------------------------------------------------------- /all/图论-多源最短路径ASSP-Floyd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-多源最短路径ASSP-Floyd.cpp -------------------------------------------------------------------------------- /all/图论-最近公共祖先-TarjanLCA.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-最近公共祖先-TarjanLCA.cpp -------------------------------------------------------------------------------- /all/数据结构-并查集FindUnionSet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/数据结构-并查集FindUnionSet.cpp -------------------------------------------------------------------------------- /all/STL-stack .txt: -------------------------------------------------------------------------------- 1 | http://baike.baidu.com/link?url=VslASlzHBa4H4sfFPMPcwZQWprLWM07jitPhCbZc8z6qym9JtIiv1Gu3G97quslSGb7gqP3FRbjnFX_xyy4p4_ -------------------------------------------------------------------------------- /all/图论-单源最短路径SSSP-Dijkstra+Heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzFon/Algorithm-Templates_Cpp/HEAD/all/图论-单源最短路径SSSP-Dijkstra+Heap.cpp -------------------------------------------------------------------------------- /all/STL-queue.txt: -------------------------------------------------------------------------------- 1 | http://baike.baidu.com/link?url=c-nQj_IawrZe4IN4Y5ny9LEn9Ffd8kcgt727AjON2xn-QnIB8oocbjdQmb9tWI8QG7GFjrDZ1tOkwkzH6eSoz_#3_1 -------------------------------------------------------------------------------- /all/STL-vector.txt: -------------------------------------------------------------------------------- 1 | http://baike.baidu.com/link?url=jsyx2U4d7SZ1XpktZGpTBAr4X7OGOKToeV6bWXFC6QO9Xfp3VqfD0nZpIfmTyfYdT54F17IcLky9X5M-lhBEB2zlh1qpyDrwjHZmQ_rJRzm#3 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Algorithm-Templates_Cpp 2 | 3 | 算法竞赛时候写下的一些常用算法的C++模板,仅供参考 4 | 5 | 内容包括: 6 | 7 | * 排序:选择排序,插入排序,冒泡排序,桶排序 8 | 9 | * 搜索:DFS,BFS,A* 10 | 11 | * 数据结构:二叉树,哈希表(拉链法),堆(以及堆排序),并查集,栈,线性表,队列,循环队列 12 | 13 | * 高精度算法:加,减,乘,除,朴素除法 14 | 15 | * 分治:快速排序,二分答案,归并排序 16 | 17 | * 图论:多元最短路径ASSP(Floyd),单源最短路径SSSP(Dijkstra+Heap, SPFA),最小生成树(Kruskal, Prim+Heap),最近公共祖先LCA,拓扑排序,强连通分量,割点,割边,二分图最大匹配 18 | 19 | * STL模板的使用:heap, queue, priority_queue, sort, stack, vector 20 | -------------------------------------------------------------------------------- /all/数据结构-栈Stack.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | #include 4 | 5 | int s[101]; 6 | int top=1; 7 | int a[11]={0,1,2,3,4,5}; 8 | 9 | int main() 10 | { 11 | for(int i=1;i<=5;i++) 12 | { 13 | s[top]=a[i]; 14 | top++; 15 | } 16 | 17 | for(int i=1;i1) 22 | top--; 23 | 24 | for(int i=1;i 2 | using namespace std; 3 | #include 4 | 5 | int q[101],head=1,rear=1; 6 | int a[11]={0,1,2,3,4,5}; 7 | 8 | int main() 9 | { 10 | for(int i=1;i<=5;i++) 11 | { 12 | q[rear]=a[i]; 13 | rear++; 14 | } 15 | 16 | for(int i=head;i