c/c++笔记
一.emm
1.废话
1.1怎么说呢,就是好多知识点记不住(比如说我几个月前自己学了一些html/css等,现在几乎完全不会码了QAQ),找来找去也麻烦,所以自己随便写个来方便自己看的
1.2.这博客打算访问权限打算设置的公开,毕竟作为一个bug写手,也希望大佬纠错指点,本菜狗博客
1.3.这博客会不定期更新,emm虽然更新的大部分是我基本上掌握的(主要作为个人复习来用),而且大部分都打算直接放链接(个人认为比较易懂的(感谢那些写博客的大佬))
2.较全面的大佬笔记链接
2.1 STL详解
链接:STL详解
3.个人常用的几个网站
3.1刷题网站(各有各的特色)(还有一些网站也很好,不过我没怎么用到。。)
Loading - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
首页 - New Online Judge (ecustacm.cn)
Welcome To PKU JudgeOnline (poj.org)
3.2查资料网站
GitHub中文社区 (githubs.cn)或者GitHub: Where the world builds software · GitHub(目前本菜狗还不怎么会用QAQ)
二.一些杂问题
1.位运算符号

图源:位运算(&、|、^、~、>>、 | 菜鸟教程 (runoob.com)
位运算求二进制最后一个1的方法为n&(-n)
注:-n的二进制是n的补码
2.define和typedef的区别:
define是在以后代码中进行替换字母等,而typedef是切换类型
3.数组开大溢出问题
解决方法,定义数组时把数组放到main上面
参考链接: C/C++开大数组溢出问题
4.悬浮指针问题
函数返回时不用返回局部变量地址
参考链接:【C/C++】原来这样做就能避免C语言悬垂指针问题
5.cin和scanf的区别
详细参考:C算法:C++中cin和scanf的区别
6.读入带空格的字符串方法
参考链接: c/c++中读入字符串(包含空格)和(3条消息) C++字符串的几种输入方法(string和字符数组)
7.头文件string和cstring的区别
参考链接:cstring和string的区别
8.用scanf读入string类型
参考链接:使用scanf输入string类型变量
9.计算字符串的长度
参考链接:C/C++计算字符串的长度
10.判断stringstream中是否为空和如何清空stringstream
参考链接:判断stringstream中是否为空和如何清空stringstream
三.一些函数
常见头文件:参考链接:C/C++常用头文件及函数汇总
参考链接:C 标准库 – 参考手册 | 菜鸟教程 (runoob.com)
1.关于cmath中的几个简单的函数
1.1 pow函数pow(a,b)返回a的b次方(返回的是double类型) sqrt函数sqrt(n)求n的平方根
1.2 ceil (向上取整),floor(向下取整) ,round(四舍五入)函数
1.3 abs函数(整型取绝对值),fabs函数(浮点型取绝对值)
1.4 exp()函数exp(n)值为e^n次方,以e为低的log()函数,另一种为以10为底的log 10()函数;
2.关于algorithm中的几个简单的函数
2.1 sort函数进行排序(默认从小到大)
参考链接:C++中sort函数使用方法
2.2 reverse函数进行翻转(这个也不难)
参考链接:C++中的reverse()函数
2.3 max_element函数找最大值,反之min_element是求最小值
参考链接:C++ max_element()的使用
2.4 unique函数,去掉数组或向量等类型相同的元素(实际上就是前移的说)(在用前记得排序)
参考链接: unique函数用法
补:erase函数(头文件看情况)常和unique函数一起用去删除数组等后续元素
参考链接:C/C++语言中erase()函数的用法
参考链接:unique及erase的联合运用
3.关于queue中定义队列
3.1 普通队列queue(先进先出)
参考链接:queue的常用函数和queue函数
3.2 优先队列priority_queue(自动排序,默认从大到小)
4.关于stack中定义栈(先进后出)
参考链接:栈(stack) C语言实现
5.关于cstdlib函数中遇见的进制转换函数
5.1 itoa函数(数字转字符串),atoi函数(字符串转数字)
参考链接:C语言itoa()函数和atoi()函数详解(整数转字符)
6.关于vector中定义向量
参考链接:C++ vector的用法和(3C++ vector用法(详解!!函数,实现)和c++之vector 及 二维容器vector<vector<int>>初始化方法 (这个看看就行)
四.一些模板
1.二分模板
链接:【算法】四种二分模板和二分查找算法模板 - AcWing
既然说到了二分,那就再提一下插值查找把
链接:查找算法之插值查找
2.dp中背包问题
链接:动态规划-背包问题
3.10大排序算法
链接:1.0 十大经典排序算法 | 菜鸟教程 (runoob.com)
4.acwing中总结的一些模板(感觉超好的说)
链接:常用代码模板2——数据结构 - AcWing和常用代码模板1——基础算法 - AcWing
5.杂记
1.约瑟夫环
链接:约瑟夫环
2.快速gcd函数(求最大公约数)
链接:gcd函数的写法
3.约数定理
4.A*算法(搜索)
链接:A*算法
5.树状数组和线段树
6.邻接表
链接:邻接表

浙公网安备 33010602011771号