
C++
文章平均质量分 79
蓝谷芮济
这个作者很懒,什么都没留下…
展开
-
C++ 文件
目录输入输出==精度的控制1====精度的控制2==文件输入输出输入char a,b;cin>>a 遇到空白字符就认为结束cin.get(a) ; b=cin.get() 输入一个字符给a,但是b=cin.get() 会承接输入字符给a后的一个enter,space,tab等,把他们继续留在缓冲区中因此a是一个字符,b是一个enter/space/tabcin.get(arrayname, size, s) 把数据输入到arrayname字符组中,但输入长度到达size时原创 2022-05-05 20:17:14 · 399 阅读 · 0 评论 -
关于C++中的一些特殊函数inline,virtual等等
文章目录inline内联函数虚函数virtual 虚函数virtual 纯虚函数和抽象类c++ 中的structexplicit (显式)friend 友元函数与友元类enum枚举预处理 编译 汇编 链接预处理: 宏替换,删掉注释,头文件的添加到一个文件中等等编译: 将预处理后的 .i 文件进行一系列语法分析,词义分析,语义分析等等生策划那个.s 文件inline内联函数作用:内联函数是为了解决c语言中表达式形式的宏定义来解决程序中函数调用的效率问题,产生的原因:c语言中表达式形式用宏原创 2022-04-28 10:19:25 · 1577 阅读 · 0 评论 -
n皇后的问题
使用优先队列来计算n皇后的问题一行一行的检索但是我们要把皇后存放的列记录下来,所以定义结构体struct q{int no; //记录皇后的编号,方便知道这是存放的第几个皇后int row; //记录当前皇后存放的行vector<int> cols; //记录已经存放皇后的列//由于使用的是优先队列,需要一个排序函数,但是为什么是行大的在前面,row大的,说明当前存放的皇后最多,最接近n个皇后bool operator< (const q& a)原创 2021-01-18 17:50:44 · 338 阅读 · 0 评论 -
背包问题合集
一般背包问题中dp表示的都是题目中让求解的量求1-n拆分成两个相等的子集合的个数思路:典型的0-1背包问题设dp[i][j]为1-i个数字当中可以组成和为j的个数,有两个选择,选择i或者不选择i选择i dp[i][j]=dp[i][j-i]不选择i dp[i][j]=dp[i-1][j-i]状态转移方程所以dp[i][j]=dp[i][j-i]+dp[i-1][j-1]由于只是i取决于上一个值所以可将状态转移方程转换成dp[j]=dp[j-i]+dp[j-1]初始状态dp[0]=原创 2020-12-25 08:46:38 · 301 阅读 · 0 评论 -
有重复元素的全排列问题
有重复元素的全排列问题只是在没有重复的全排列问题上去除重复的部分即可思想方法:递归例如s[4]=aaccs[0] 作为head 全排列剩下的三个s[1] 与s[0] 交换 由于s[1]==s[0] 不交换如果交换,那么全排列剩下的三个,剩下的三个依然是acc 与情况一相同,我们不能出现重复的,所以不能交换s[2] 与s[0] 交换,由于前面并没有出现过c所以可以交换s[3] 与s[0] 交换,由于s[2]==s[3] 不交换如果交换,那么和情况3重复,解释与2相同交换过后的字符串就原创 2020-12-18 22:10:09 · 6085 阅读 · 1 评论 -
链表的逆置
链表的逆置采用头插法的方式将链表逆置p是需要逆置的原始链表r是逆置后的链表初始状态如图所示s指向一个节点,一个此时需要插入的节点s=p;p=p->next;s->next=r;r=s;// 循环上述代码即可s=p;p=p->next;s->next=r;r=s;...原创 2020-10-16 09:55:27 · 375 阅读 · 0 评论 -
正则表达式的用法
正则表达式的符号. 表示任意字符* 表示前一个字符出现次数>0? 表示前一个字符是否存在,至多存在一次+ 表示前一个字符可以多次出现^ 表示必须以该字符串开头$ 表示必须要以该字符串结尾() 表示其中的内容是一组\1 表示第一组,通常和()一起使用 字符串中需要加上\ “(abc)d\1”[] 表示[ ]括号中...原创 2020-04-28 16:54:18 · 632 阅读 · 0 评论 -
考研复试机试--字符串的匹配
遍历加密统计匹配原创 2020-04-28 11:41:28 · 357 阅读 · 0 评论 -
malloc,qsort,sort
malloc:double *p = (double *)malloc(sizeof(double) * 5); // 分配 5 个 double 的存储空间qsort//一定要注意cmp的用法,传参的类型int cmp(const void* x, const void* y){ JavaBean* new_x = (JavaBean*)x; JavaBean* new_y = ...原创 2020-04-27 15:17:28 · 244 阅读 · 0 评论 -
代码优化
1.思想相同的,就可以想办法减少代码的冗余if (ai != bi) { if (ai > bi) { for (int i = 0; i < (ai-bi); i++) b = '0' + b; } else { for (int i = 0; i < (bi - ai); i++) a = '0' + a; } }/...原创 2020-03-29 16:51:57 · 116 阅读 · 0 评论 -
玛雅人的密码
玛雅人的密码POINT:1.对于访问过的数据需要做出标记的问题中之前使用的是bool visit[MAXN]; 这种方法比较适合使用数据是整型的时候而此题需要用到的是string类型的,此时再用上述的方法就不行了,所以改用map类型的就方便很多,也在一定程度上节约空间,提升效率2.map中查询某个关键字是否存在,map.count(关键字)==0 //not existmap.cou...原创 2020-03-27 21:47:25 · 163 阅读 · 0 评论 -
C++中迭代器反向遍历
map<int, string>::reverse_iterator iter; for (iter = mouse.rbegin(); iter!=mouse.rend(); iter++) { cout<<iter->second << endl; }原创 2020-03-24 19:28:13 · 1720 阅读 · 0 评论 -
C++中的find()函数
find()函数的头文件 #include#include<cstdio>#include<string>#include<iostream>using namespace std;int main(){ //查找字串首次出现的位置 string str= "efgacabcabca"; int a = str.find("bca");...原创 2020-03-17 21:47:22 · 989 阅读 · 0 评论 -
C++中数据结构基本使用
向量:vector(int) my;//访问my[i];//存储&退出my.push_back(i);my.pop_back();队列queue<int> my;//访问 尾部back 头部frontmy.back();my.front();//存储&推出my.push(i);my.pop();栈stack<int&...原创 2020-03-16 14:21:32 · 296 阅读 · 0 评论