![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++ 查缺补漏
文章平均质量分 57
基础知识
用户名不以数字开头
这个作者很懒,什么都没留下…
展开
-
c++ 学习笔记
1 返回局部变量地址不要返回局部变量的地址 local variables,这里的地址存储在栈区,函数运行结束后编译器自动释放编译器可能会保留一次数据,所以第一次输出可能是对的#include <iostream>using namespace std;int *func(){ int *a=10; cout<<&a<<endl; return a;}int main() { int a=10; in原创 2021-12-15 14:49:39 · 282 阅读 · 0 评论 -
随机数 rand()函数的使用
<1> rand()头文件:#include<stdlib.h>原型: int rand(void);生成 [a,b)范围的随机数rand() % (b-a)+a;举个栗子:产生[10,21]的:rand()%12+10;<2> srand()头文件:#include<stdlib.h>原型:void srand(usigned int seed);种子决定了产生的随机数,如果种子相同,那么随机数相同,所以为了生成不同的随机数,我们可以使原创 2021-11-25 19:42:16 · 327 阅读 · 0 评论 -
正则表达式常用表达
最近在学习python爬虫的时候整理了几个常用的表达正则表达式元字符:具有固定含义的任意字符. 匹配除了换行符以外的任意字符\w 匹配数字or字母or下划线\s 匹配任意的空白符\d 匹配数字\n 匹配一个换行符\t 匹配一个制表符^ 匹配字符串的开始$ 匹配字符串的结束\W 匹配非字母or数字or下划线\D 匹配非数字\S 匹配非空白符a|b 匹配字符a或者字符b() 匹配括号内的表达式,也表示一个组[…] 匹配字符串中的字符[原创 2021-11-23 07:29:32 · 828 阅读 · 0 评论 -
关于自增自减运算符组合的优先级需要注意的一点
今天写 插入排序 的时候遇到了一个问题先上代码num[i+1] = num[i--];num[i + 1] = num[i]; i--;这两行代码你是不是也觉得是一样的效果,但是程序按照前面的那个写法运行居然不对,排查了好几遍确认算法没有问题,最后实在是没招了,请教了我的数据结构老师才知道问题所在,最主要的是纠正了自己以前的认识误区,对这个语句的编译逻辑有了正确的认识,为了方便复习,特意做个笔记“先取num[i]的值,再计算i- -,再计算i+1,再将原来取的值放到nu原创 2021-11-17 13:46:05 · 879 阅读 · 0 评论 -
sizeof关键字详解
最近在使用sizeof的时候遇到了一些问题,发现了一篇很好的文章,讲的很仔细,转载学习原文链接:https://blog.csdn.net/w57w57w57/article/details/6626840 摘要:Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof转载 2021-11-16 18:59:42 · 765 阅读 · 0 评论 -
new和malloc的简单使用
一维数组new申请:p = new int[line]; //申请一个line列的一维数组回收:delete[] p;malloc申请:p = (int*)malloc(sizeof(int)*line);回收:free(p);二维数组1): 数组指针,已知第二维的长度//newint (*p)[line] = new int[row][line];delete[] p;//mallocint (*p)[line] = (int**)malloc(sizeof(i原创 2021-11-15 11:28:52 · 1135 阅读 · 0 评论 -
常用的位运算
原文链接https://www.acwing.com/blog/content/873/https://blog.csdn.net/m0_37345402/article/details/77429245右移运算符 (需要移位的数字 >> 移位的次数)将需要移位的数字转化成二进制,将转化完的数字整体向右移动对应位移位数,低位舍弃,高位的空位补符号位(正数补零,负数补1)。例:12 >> 212的二进制为1100,将1100整体右移两个单位,因为12为正数,高位填零,变转载 2021-11-15 01:34:59 · 93 阅读 · 0 评论 -
STL Vector的使用
原文链接 https://blog.csdn.net/w_linux/article/details/71600574 一、什么是vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container)。跟任意其它类型容转载 2021-11-14 10:30:01 · 59 阅读 · 0 评论 -
c++常用程序计时方法
1 clock()clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。clock_t clock(void) ; 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:#ifndef _CLOCK_T_DEFINED type原创 2021-11-06 14:10:30 · 6409 阅读 · 0 评论 -
产生的数据输出到文件
使用了文件操作直接上代码#include<iostream>#include<cstdio>#include<cstdlib>#include<fstream>#include<time.h>#include<math.h>#include<algorithm>using namespace std;int main(){ int n; int c; int i; double h;原创 2021-11-06 13:55:52 · 49 阅读 · 0 评论 -
C语言字符串数组输入输出的一些小发现
一直都知道的是字符串(字符数组)只有声明的时候可以赋值,类似这样:char c[20]="something";之后如果想要输入数据到这个数组中的话需要单个输入,也就是说下面这样是错误的做法:char c[20];c="anything";不过类似动态数组的操作是可行的,有些编译器会报错char *c;c="anything";比如vscode:这样修改一下就行了char *c;c=(char*)"anything";但是这并不是今天我想说的声明..原创 2021-10-31 00:30:33 · 126 阅读 · 0 评论 -
字符串和整型之间的转换
原文链接http://c.biancheng.net/cpp/html/2793.html自定义一个函数,将字符串转换为整数,原型为:int ascii_to_integer( char *string );这个字符串参数必须包含一个或多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算术溢出。提示:这个技巧很简单你每发现一个数字,把当前值乘以10,并把这个值和新数字所代表的值相加。这个问题应该用迭代方法解决,而不.转载 2021-10-31 00:00:19 · 278 阅读 · 0 评论 -
C++中nth/min/max_element()的简单用法
原文出处nth_element:https://blog.csdn.net/xiaoquantouer/article/details/51591140?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevan.转载 2021-10-30 09:06:10 · 229 阅读 · 0 评论 -
输出定向,生成的数据输出到文件
把生成的数据直接写到文件中而不是输出到控制台代码#include <time.h>#include <cstdio>#include <cstdlib>#include <fstream>#include <iostream>using namespace std;int main(){ int n=10; time_t t; srand((unsigned)time(&t)); //使用系统时间作为种子,是.原创 2021-10-29 20:53:44 · 60 阅读 · 0 评论 -
自定义swap函数直接交换地址的错误操作
自定义swap函数我们都知道参数传递时值传递是不能改变实际变量的值得,要利用指针进行操作,今天遇到了一个本来很简单的问题之前我都是这么写的,把指针传进去然后以后改变指针指向的值,从而达到交换的效果代码如下#include <cstdio>#include <cstdlib>#include <iostream>using namespace std;void swapvalue(int *a,int *b){ int temp; te.原创 2021-10-28 22:35:01 · 722 阅读 · 0 评论 -
c/c++中sort() / qsort()函数的用法
c/c++中sort函数用法c++标准库里的排序函数的使用方法I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可!II)Sort函数有三个参数:(1)第一个是要排序的数组的起始地址。(2)第二个是结束的地址(最后一位要排序的地址)(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排...转载 2021-10-27 20:32:08 · 277 阅读 · 0 评论 -
邻接表&链式前向星
前言今天写程序的时候用到了邻接表的知识,其中参考的代码里面用到了链式前向星的概念,由于之前没有学过这个,导致代码看了半天还是一头雾水,然后评论区找到了答案,赶紧学习了一下相关知识,并且做做笔记图的存储邻接矩阵图示不考虑权重,有指向关系就标记为1,否则为-1,这样就存好了缺点:太消耗内存,适合密集型邻接表图示增加head[]head[] 所存储的就是从这些每一个点指出的第一条边在edge邻接表中的下标,因为是用cnt赋值给它的,下面给出代码就很容易理解了邻接表代码#inc原创 2021-10-26 19:51:06 · 300 阅读 · 0 评论 -
DFS深度优先算法解决迷宫问题
文章目录前言一、问题描述二、解决步骤1.分析2.第一遍程序3.对程序进行改进4.file in.txt记事本里面的内容总结前言 >>今天遇到了一个需要使用dfs算法的题,无奈对dfs一知半解,只好在网上找了帖子学习,然后写下这篇文章进行记录,以便日后复习回顾。先写出可以求解出结果的程序,然后进行改进。一、问题描述示例:迷宫由n行m列的单元格组成(n,m都小于等于50)每个单元格要么是空地,要么是障碍物。现请你找到一条从起点到终点的最短路径长度。二、解决步骤1.分析思想就是能原创 2021-10-19 09:55:54 · 552 阅读 · 2 评论