- 博客(10)
- 收藏
- 关注
原创 sort函数用法&使用lambda表达式自定义sort排序方法
1 sort函数包含在头文件为#include<algorithm>的c++标准库中。2 sort函数有三个参数,排序起始地址,结束地址, 排序方法(默认参数,可以不写,默认是从小到大)示例:#include<algorithm>int main() { std::vector<int> a; a.emplace_back(1); a.emplace_back(3); a.emplace_back(2); a.emplace_bac
2022-01-13 14:55:59 2153 1
原创 C++ 数字转字符串
我在刷leetcode的时候,遇到了整数转换成字符串的问题,一开始,采用itoa来完成转换:#include <stdlib.h>#include <string>void f() { int re_count = 1; string count; itoa(re_count, count, 10); //10代表十进制}具体itoa的使用请参考:C 语言整数与字符串的相互转换 | 菜鸟教程结果编译器报错:查阅资料发现:itoa并是一个非标准的.
2021-12-19 15:34:07 989
原创 C++ 使用default_random_engine生成随机数
使用rand生成伪随机数的方法: 1 产生0~99之间的随机数int data1 = rand() % 100;// 0~99int data2 = rand() % 100 + 1; //1~1002 产生一定范围内的随机数int min, max;int range = max - min;int data = rand() % range + min;使用std里面的default_random_engine类获取随机数std::default_random_e.
2021-12-16 15:01:01 1472
原创 以leetcode上“最大子数组和”为例详解贪心算法
题目链接:力扣题目描述:给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为 6最近刷leetcode这道题的时候,刚开始直接暴力循环求解,结果超出时间限制。自己学习了官方题解的第一种办法:贪心算法。跟大家分享一下自己的心得体会。百度给出的贪心算法算...
2021-12-08 21:49:59 183
原创 C++ 编程小技巧之另一种选择策略
一般来说,我们如果需要写包含多种情况的代码,一般采用switch case语句,根据控制表达式的值,可以把程序流跳转到多个语句中的一个执行。但这个语句一般用于只需一种情况满足,当你想选中多种case的时候,会比较复杂,比如你想衡量多个变量的状况,switch就不是特别适合。最近新学到了一个办法,感觉非常好用,分享给大家...
2021-11-07 21:08:34 485
原创 git版本管理之提交代码
1. git stash //将你的改动暂存到本地仓库,此时workspace里面的代码恢复成了未经改动的版本代码2. git pull //将代码版本更新到最新,从远程拉取代码3. git stash pop //将你的改动从本地仓库中弹出,与最新版本的代码merge 注:这一步可能需要手动merge冲突。4. make //编译merge之后的代码,使其编译通过5. git status //这个命令可以查看你改动了哪些文件(此时都是红色的)6. git add ...
2021-10-27 17:28:40 246
原创 ‘xxx‘ does not name a type xxx* fn();
'xxx' 是一个类的名称,这个报错是因为这个函数返回值是'xxx'这个类型的指针,但是文件中却没有前置声明这个类。解决办法:前置声明一下。class xxx;//前置声明class A { pubilc: xxx* fn();}应该尽量避免头文件相互包含。...
2021-10-27 16:45:48 2034
原创 关于注释的小tips
在写代码的过程中,如果你有一些还未成熟的代码,需要注释掉,直接用//注释,会有一大片的绿色(visual studio code),看起来非常丑,而且让人心烦,这个时候就可以:// x = a + b;// y = c + d;// z = e + f;//非常丑,而且如果内容很多,会有大片的注释颜色//这个时候就可以if(0){ x = a + b; y = c + d; z = e + f;}//如果功能还没成熟,那么你大概率会加一个参数控制,如果你想直接关掉,这个时候就
2021-10-27 14:55:00 74
原创 带默认参数的函数的继承
今天写代码编译出错:class base { public: virtual void fn(int n, int m) {};}class son : public base { public: void fn(int n, int m =0);}原因是子类中的函数有默认参数,基类没有,修改为:class base { public: virtual void fn(int n, int m = 0) {};}class son : public base.
2021-10-27 14:36:55 183
原创 c++函数的默认实参
首先,默认实参指的是当函数调用中省略了实参时,自动使用一个值。错误示例(今天踩得坑):void fn(int n, int m=1);//声明int main(){}void fn(int n, int m = 1)//函数实现 注:这是错误实现{}错误在于:函数的定义和函数的声明都加入了默认实参修改1:声明加入实参,定义省略(推荐)void fn(int n, int m=1);//声明int main(){}void fn(int n, int m)
2021-10-27 14:16:45 303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人