C++算法模板集合
我的常用刷题网站:http://218.5.5.242:9018/JudgeOnline/
排序
选择排序(selection sort)


1 void selection(int n,int* a){
2 for (int i = 0;i < n;i++){
3 for (int j = i + 1;j < n;j++){
4 if (a[i] > a[j]){
5 swap(a[i],a[j]);
6 }
7 }
8 }
9 }
选择排序
冒泡排序(bubble sort)


void bubble(int n,int* a){
for (int i = 0;i < n;i++){
for (int j = 0;j < n - 1;j++){
if (a[j] > a[j + 1]){
swap(a[j],a[j+1]);
}
}
}
}
冒泡排序
查找
枚举查找


bool search(int n,int* a,int x){
for (int i = 0;i < n;i++){
if (a[i] == x){
return true;
}
}
return false;
}
枚举查找
二分查找(binary search)


bool binary_search(int n,int* a,int x){
int mid,r,l;
r = 0;
l = n - 1;
while (r < l){
mid = (r + l) / 2;
if (x == mid) return true;
if (x > mid) l = mid;
if (x < mid) r = mid;
}
return false;
}
二分查找
搜索
深度优先搜索(DFS)求连通块


void dfs(int x,int y,int id){ // id是连通块记号
if (是否越界) return;
if (搜索过或不是指定符号) return;
标记已搜索;
搜索下一步;
}
DFS求连通块
这只是一个概括,详细代码样例参见C++算法代码——细胞问题
数学专题
判断质数


1 bool prime(int n){
2 for (int i = 2;i <= sqrt(n);i++){
3 if (n % i == 0) return false;
4 }
5 return true;
6 }
判断质数
for循环宏定义


1 #define _for_1(i,a,b) for(i = (a);i <= (b);i++)
2 #define _for_2(i,a,b) for(i = (a);i >= (b);i--)
3
4 // 可以这样应用:_for_1(i,1,n)
for循环宏
g++运行


>g++ 文件名.cpp -o 文件名
>./文件名
g++
代码作者亲测,作者将持续更新……
C++算法模板集合的更多相关文章
- 最短路问题的三种算法&模板
最短路算法&模板 最短路问题是图论的基础问题.本篇随笔就图论中最短路问题进行剖析,讲解常用的三种最短路算法:Floyd算法.Dijkstra算法及SPFA算法,并给出三种算法的模板.流畅阅读本 ...
- 匈牙利 算法&模板
匈牙利 算法 一. 算法简介 匈牙利算法是由匈牙利数学家Edmonds于1965年提出.该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法. 二分图的定义: 设G=(V,E)是一个 ...
- Tarjan 算法&模板
Tarjan 算法 一.算法简介 Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度. 我们定义: 如果两个顶点可以相互通达,则称两个顶点强连 ...
- hdu 2255 奔小康赚大钱--KM算法模板
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 题意:有N个人跟N个房子,每个人跟房子都有一定的距离,现在要让这N个人全部回到N个房子里面去,要 ...
- POJ 1273 Drainage Ditches(网络流dinic算法模板)
POJ 1273给出M条边,N个点,求源点1到汇点N的最大流量. 本文主要就是附上dinic的模板,供以后参考. #include <iostream> #include <stdi ...
- poj 1274 The Perfect Stall【匈牙利算法模板题】
The Perfect Stall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20874 Accepted: 942 ...
- 国内大学毕业论文LaTeX模板集合
国内大学毕业论文LaTeX模板集合 薛瑞尼的清华大学学位论文LaTeX模板http://sourceforge.net/projects/thuthesis/ 北大论文文档 LaTeX 模板 pkut ...
- 最短路径---dijkstra算法模板
dijkstra算法模板 http://acm.hdu.edu.cn/showproblem.php?pid=1874 #include<stdio.h> #include<stri ...
- 算法模板学习专栏之总览(会慢慢陆续更新ing)
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/7495310.html特别不喜欢那些随便转载别人的原创文章又不给 ...
随机推荐
- CSS3 Flex Box 弹性盒子、弹性布局
目录 1. 概要 2. justify-content 属性 3. align-items 属性 4. flex-wrap 属性 5. align-content 属性 6. 居中 7. align- ...
- spark整合Phoenix相关案例
spark 读取Phoenix hbase table表到 DataFrame的方式 Demo1: 方式一:spark read读取各数据库的通用方式 方式二:spark.load 方式三:phoen ...
- Dos命令思维导图
通过思维导图的方式,总结常用Dos命令. 各种思维导图下载地址
- zabbix管理员设置
1.认证 2.用户组和用户
- jvm系列五-java内存模型(2)
原作者系列文章链接:并发编程系列博客传送门 前言# 在网上看了很多文章,也看了好几本书中关于JMM的介绍,我发现JMM确实是Java中比较难以理解的概念.网上很多文章中关于JMM的介绍要么是照搬了一些 ...
- Flink-v1.12官方网站翻译-P029-User-Defined Functions
用户自定义函数 大多数操作都需要用户定义的函数.本节列出了如何指定这些函数的不同方法.我们还涵盖了累加器,它可以用来深入了解您的Flink应用. Lambda函数 在前面的例子中已经看到,所有的操作都 ...
- IDLE怎么将主题修改成Darcula样式?
摘要:每个人都有自己心中理想的编辑器主题,我更倾向于Darcula,你们呢? 想必没用过Darcula主题的朋友,会好奇它是何方神圣? 是不是很赏心悦目,代码这冰冷的东西也变得生龙活虎? 我最近在 ...
- zjnu1726 STOGOVI (lca)
Description Mirko is playing with stacks. In the beginning of the game, he has an empty stack denote ...
- 牛客练习赛70 D.数树 (模拟,STL)
题意:每次有\(3\)中操作,对两个点连条边,删去某条边,或者问当前大小不为\(1\)的树的数量.连重边或者删去一条不存在的边,这样的白痴操作可以无视qwq. 题解:水题,用map存一下pair然后分 ...
- .Net下的PDF打印
简单研究了一下.Net下的PDF打印,一路发现了很多小坑. 第三方组件 这里使用的解析PDF的组件是mupdf,特点和C#调用在 这里 有介绍. 实现的功能 支持页面大小.边距.打印机选择.打印机dp ...