我的常用刷题网站:http://218.5.5.242:9018/JudgeOnline/

         https://www.luogu.com.cn/

排序

选择排序(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++算法模板集合的更多相关文章

  1. 最短路问题的三种算法&模板

    最短路算法&模板 最短路问题是图论的基础问题.本篇随笔就图论中最短路问题进行剖析,讲解常用的三种最短路算法:Floyd算法.Dijkstra算法及SPFA算法,并给出三种算法的模板.流畅阅读本 ...

  2. 匈牙利 算法&模板

    匈牙利 算法 一. 算法简介 匈牙利算法是由匈牙利数学家Edmonds于1965年提出.该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法. 二分图的定义: 设G=(V,E)是一个 ...

  3. Tarjan 算法&模板

    Tarjan 算法 一.算法简介 Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度. 我们定义: 如果两个顶点可以相互通达,则称两个顶点强连 ...

  4. hdu 2255 奔小康赚大钱--KM算法模板

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 题意:有N个人跟N个房子,每个人跟房子都有一定的距离,现在要让这N个人全部回到N个房子里面去,要 ...

  5. POJ 1273 Drainage Ditches(网络流dinic算法模板)

    POJ 1273给出M条边,N个点,求源点1到汇点N的最大流量. 本文主要就是附上dinic的模板,供以后参考. #include <iostream> #include <stdi ...

  6. poj 1274 The Perfect Stall【匈牙利算法模板题】

    The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20874   Accepted: 942 ...

  7. 国内大学毕业论文LaTeX模板集合

    国内大学毕业论文LaTeX模板集合 薛瑞尼的清华大学学位论文LaTeX模板http://sourceforge.net/projects/thuthesis/ 北大论文文档 LaTeX 模板 pkut ...

  8. 最短路径---dijkstra算法模板

    dijkstra算法模板 http://acm.hdu.edu.cn/showproblem.php?pid=1874 #include<stdio.h> #include<stri ...

  9. 算法模板学习专栏之总览(会慢慢陆续更新ing)

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/7495310.html特别不喜欢那些随便转载别人的原创文章又不给 ...

随机推荐

  1. 如何在windows下切换node版本

    安装nvm 最近的项目中,一个是用vue项目开发,一个是使用react开发,但是ant design pro使用了umi框架,所需要的node版本>10.0.0,vue那个项目中又不兼容node ...

  2. scala中List、Array、ListBuffer、ArrayList、Set

    scala中List.Array.ListBuffer.ArrayList.Set 一.List 二.Array 三.LIstBuffer 四.ArrayBuffer 五.Set 一.List Lis ...

  3. Poem 01(转)

    Dear Sunshine The way you glow through my blinds in the morning. It makes me feel like you missed me ...

  4. 敏捷史话(五):敏捷已逝 —— Dave Thomas

    " 敏捷已逝,但敏捷精神长存.因为所谓的敏捷专家卖给你的是方法论,而不是价值."当多数人都在从"敏捷"身上榨取利益时, Dave Thomas 成为了一位逆行者 ...

  5. 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛(8/11)

    $$2019中国大学生程序设计竞赛(CCPC)\ -\ 网络选拔赛$$ \(A.\hat{} \& \hat{}\) 签到,只把AB都有的位给异或掉 //#pragma comment(lin ...

  6. windows10上下载远程控制软件之后导致windows10亮度调节功能不能使用

    出现了通用即插即用监视器就可以了

  7. poj 3304 Segments(解题报告)

    收获:举一反三:刷一道会一道 1:思路转化:(看的kuangbin的思路) 首先是在二维平面中:如果有很多线段能够映射到这个直线上并且至少重合于一点,充要条件: 是过这个点的此条直线的垂线与其他所有直 ...

  8. Light Bulb ZOJ - 3203 三分

    三分: 和二分非常类似的一个算法,与二分不同的是 二分是单调的,而三分是一个先增后减或者先减后增 三分可以求出峰值. 注意三分一定是严格单调的,不能有相等的情况. 讲个例题: 题目 题意: 一个人发现 ...

  9. WPF 主动触发依赖属性的 PropertyChanged

    需求背景 需要显示 ViewModel 中的 Message/DpMessage,显示内容根据其某些属性来确定.代码结构抽象如下: // Model public class Message : IN ...

  10. Linux core dump使用

    什么是 core dump? core dump是一个当进程意外终止时包含进程内存内容的文件.当程序崩溃的时候,core dump由kernel触发.core dump可以作为程序崩溃时的事后快照(p ...