学习笔记
彭华成
这个作者很懒,什么都没留下…
展开
-
C++ unique()函数用法
unique去掉容器中相邻元素的重复元素(所有不重复的元素排在数组的最前面,数组末尾未占用的位置保留原来的值)返回值是不重复的元素个数(标准说法是去重之后的尾地址)在使用unique之前要先排序,可使用sort()函数。#include<iostream>#include<algorithm>using namespace std;int main(){ int num[10]={1,3,2,6,2,3,4,5,5,5}; sort(num,num+10);原创 2021-08-11 15:24:53 · 1220 阅读 · 0 评论 -
C/C++ 一个数字后面加上LL
拿1LL举例LL代表的意思是long long类型, 1LL是为了在计算时,把int类型的变量转化为long long类型,然后再赋值给long long类型的变量原创 2021-08-07 16:06:12 · 5744 阅读 · 0 评论 -
结构体内嵌比较函数bool operator < (const 结构体名 &x) const {}
bool operator < (const 结构体名 &x) const {}结构体内嵌比较函数的作用:一般来说比较函数写在结构体内会比写在外部快原创 2021-07-31 09:51:27 · 1211 阅读 · 0 评论 -
struct结构体
什么是结构体?就是用户自己定义一种类型来使用,你可以自己去定义这个类型的一系列属性。类似于int、double、等都是系统定义的类型定义结构体使用struct修饰符,例如struct test{float a;int b;}上面的代码就定义了一个名为test的结构体,它的数据类型就是test,它包含两个成员a和b,成员a的数据类型为浮点型,成员b的数据类型为整型。由于结构体本身就是自定义的数据类型,定义结构体变量的方法和定义普通变量的方法一样test id;这样就定义了一test结原创 2021-07-29 15:33:24 · 148 阅读 · 1 评论 -
C++字符串大小写转换
tolower() toupper()tolower函数原型: int tolower(int ch);函数返回: 返回ch所代表的字符的小写字母#include<iostream>using namespace std;int main(){ string s="ABCDE"; s=tolower(s[0]); cout<<s; return 0; //输出 a}toupper函数原型: int toupper(int ch);函数返回:原创 2021-07-22 16:25:31 · 11306 阅读 · 1 评论 -
int和long long的取值范围
C语言中int的取值范围为:-2147483648 ~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808原创 2021-07-22 12:04:16 · 2392 阅读 · 0 评论 -
cin和scanf数度的区别。
如果数据范围小于105,cin和scanf没有什么区别。如果数据范围大于或等于105,scanf比cin快一倍左右的时间。原创 2021-07-22 09:55:21 · 250 阅读 · 0 评论 -
cin读入char的特性
当用cin读入char类型时,会自动忽略空白字符,包括空格、制表符、回车等。原创 2021-07-21 09:19:54 · 1243 阅读 · 0 评论 -
str.substr(n)的用法。
substr的两种用法:假设:string s="012345678"`string sub1=s.substr(5);`//表示截取s从下标5开始到结尾。sub1="56789".string sub2=s..substr(5,3);//表示截取从下标5到后面的3位字符。sub2="567".原创 2021-07-16 10:45:33 · 1018 阅读 · 0 评论 -
C/C++中的memset函数的使用方法
memset:char型初始化函数头文件:<string.h> 或 <memory.h>函数原型:void *memset(void *s , int ch , size_t n )memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );memset(结构体/数组名 , "用于替换的字符“ , 前n个字符 );函数解释:将s中的前n个字节用ch替换并且返回s函数作用:在一段内存块中填充某一个给定的值,常用于较大的对结构体和数组的清零操作。原创 2021-07-12 09:49:47 · 520 阅读 · 0 评论 -
二分查找算法模板(y总分享)
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。C++版int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1;原创 2021-07-09 15:02:02 · 503 阅读 · 0 评论 -
排序函数sort()函数的运用
Sort()函数是c++一种排序方法之一,时间复杂度为n*log2(n),执行效率较高,比冒泡排序和选择排序的执行率都要高。Sort()函数的使用方法一:Sort()包含在头文件#include<algorithm>中二:Sort()函数有三个参数1:排序数据的起始地址2;排序数据的结束地址,最后一位要排序的地址3;排序的方法,是从小到大还是从大到小,默认是从小到大Sort()函数的使用模板Sort(start,end,排序方法)``默认从小到大。#include<io原创 2021-07-07 18:03:27 · 1803 阅读 · 1 评论 -
isdigit( )函数的作用
isdigit()函数的作用是检测输入的字符串是否只由数字组成。原创 2021-07-07 14:52:39 · 4334 阅读 · 3 评论 -
stack的基本相关知识
stack简介stack是堆栈容器,是一种“先进后出”的容器。stack是简单地装饰deque容器而成为另外的一种容器。#include <stack> //使用stack所使用的头文件stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT;stack <int> stkInt; //一个存放int的stack容器。stack <float> stkFloat; //一个存放floa原创 2021-07-07 10:04:15 · 338 阅读 · 0 评论 -
break和continue在switch中的作用
continue:循环中遇到continue表示结束本次循环,进行下一次循环。break:循环中遇到break,意思是说跳出本次循环,或跳出switch语句。在for循环中,遇到break跳出整个循环,遇到continue跳出本次循环,不执行后面的语句,直接进行下一次的循环。continue一般不能用于switch语句中,但是switch语句如果在循环内的话,就可以使用continue语句。相当于说,跳出switch语句,跳出本次循环,进行下一次循环。...原创 2021-07-05 15:23:51 · 16736 阅读 · 0 评论 -
switch语句的作用
一般形式:switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2;… case 常量表达式n: 语句n;default: 语句n+1;}意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他原创 2021-07-05 15:03:22 · 2177 阅读 · 0 评论 -
C++中for(auto c:str)的代码意思
1.拷贝str中的元素时:for(auto c:str);不用知道字符串的大小,就可以拷贝str中的元素。原创 2021-03-19 18:14:01 · 820 阅读 · 0 评论 -
编译错误:invalid types ‘int[int]‘ for array subscrip-markdown编辑器
遇到报错invalid types ‘int[int]’ for array subscrip注意:可能是数组名和常量名重复定义了比如 int a; int a[];原创 2021-03-19 11:20:52 · 5737 阅读 · 2 评论 -
abs()函数的含义
#include<bits/stdc++.h>using namespace std;int main(){ int x=-100; x=abs(x); cout<<x;}输出:100**功能:**返回x的绝对值。原创 2021-03-17 21:08:48 · 2628 阅读 · 0 评论 -
C/C++string中length()和size()
c++中的size()和length()没有区别都是求字符串的长度。例如:string str="0123456789"cout <<"str.length()="<<str.length()<<endl;//结果为10cout <<"str.size()="<<str.size()<<endl;//结果为10原创 2021-03-17 20:59:10 · 872 阅读 · 0 评论 -
字节、位、bit、byte、KB、B、字符
一:bit 位bit就是位,也叫比特位,是计算机表示数据最小的单位,每一位的状态只能是0或1。二:byte 字节byte就是字节,1byte=8bit,1byte就是1B。1byte 存1个英文字母,2个byte存一个汉字。三:字符一个字符=2字节,1KB=1024B,字节就是Byte,也是B,位就是bit也是b。四:字字:字就是由一些字符组成的,是据算计处理数据时一次存取,加工和传送的数据长度。字由若干字节构成,字的位数叫字长,一台8位机子:一个字等于1个字节,字长为8位,如果是16位的原创 2021-03-17 20:35:50 · 8107 阅读 · 0 评论 -
?三元运算符(三目运算符)
//三目运算符也称为三元运算符//语法格式为 (条件表达式)?表达式1:表达式2;//如果条件为true,运算后的结果是表达式1//如果条件为false,运算后的结果是表达式2;原创 2021-03-16 17:42:59 · 704 阅读 · 0 评论 -
关于C++中的ios::sync_with_stdio(false); 语句的含义。
在C++中有两种输入输出语句,分别是scanf,printf和cin,cout两种。scanf和printf的头文件是:#include<cstdio>cin和cout的头文件是:#include<iostream>在万能头文件下。#include<bits/stdc++.h>上面两种的输入输出语句是可以互换的。但是cin和cout的效率要比scanf,和printf要慢cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效原创 2021-03-10 21:23:11 · 821 阅读 · 0 评论 -
c++中empty()函数的作用。
c++中empty()函数的作用判断容器是否为空。例如:#include<iostream>using namespace std;string s;int main(){ if(s.empty()) { cout<<"字符串为空"; } else { cout<<"字符串不为空"; }}结果为:此时输出字符串为空。...原创 2021-03-10 17:19:30 · 1659 阅读 · 0 评论 -
c语言中<< , >>的作用
运算符>>>>:右移,将一个数的二进制位全部右移N位,高位舍弃,低位补零。>>1:相当于将一个数的二进制全部右移1位,高位舍弃,低位补零。整数中:8>>1,的含意与8/2,相同。<<:左移,用来将一个数的二进制位全部左移N位,高位舍弃,低位补零。...原创 2021-03-09 15:58:39 · 23626 阅读 · 0 评论 -
return的几种含义
1:returnreturn后面什么都不接,说明时void类型函数的返回,返回后不再执行return后面的语句。也就是中断返回值为void类型的函数执行。作用相当于break语句;中断循环的执行;2:return 0;一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。3. return -1;表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常。4. return 1;与return -1相同,同样表示程序异常终止;...原创 2021-03-07 12:31:53 · 5546 阅读 · 1 评论 -
bool类型
在C语言中,是没有bool这个基础类型的。在C语言中,当我们要表示真或假的时候,都是定义一个非bool类型来使用的。在C++中,加入了布尔bool这种基础的类型,用true和false来表示真或者假,也可以用非0值来表示真,用0来表示假。在C++中,虽然布尔类型只表示true和false,看起来好像可以用一个位来存储布尔类型的变量,但其实,布尔类型在C++中是占用一个字节的。用布尔类型定义变量既然布尔类型作为C++中的一种基本数据类型,那么可以定义bool类型的全局变量定义bool类型的常量定义原创 2021-03-04 21:29:40 · 21365 阅读 · 2 评论 -
puts()的功能。
puts输出一串字符串后,会自动换行,不需要再加一个\n。自动换行。原创 2021-03-04 21:15:10 · 3111 阅读 · 1 评论 -
if(!a)的含意
if(a)和if(a!=0)等价。if(!a)和if(a==0)等价。原创 2021-03-04 21:11:53 · 11201 阅读 · 3 评论 -
next_permutation()函数的原理与运用。
next_permutation()原理与运用next_permutation函数,他的函数原型是 #include <algorithm> bool next_permutation(iterator start,iterator end)此函数求的是当前排列的下一个排列。这里的“下一个”,我们可以把它理解为序列的字典序的前后。当当前序列不存在下一个排列时,函数返回false,否则返回true例如输出1 2 3的全排列#include <iostrea原创 2021-01-31 11:17:19 · 710 阅读 · 1 评论 -
局部变量与全局变量的区别。
**局部变量:**在函数内定义的变量。在函数内部定义的变量,只在这个函数内部有效。全局变量:在函数外定义的变量。相当于说从定义变量的位置到本源文件结束都有效。全局变量可以增加函数间数据联系的渠道。同一文件中的所有函数都能引用全局变量的值,所以如果在一个函数中改变了全局变量的值,就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。为了区别全局变量与局部变量:我们将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min二. 内部原创 2021-01-26 16:25:17 · 628 阅读 · 0 评论 -
关于cin>>和cin.get()和cin.getline()和getline()和gets()和getchar()的用法
C++中几个输入函数的用法和区别。第一个 :cin>>用法1:最基本,最常用的用法,输入一个数字。#include <bits/stdc++.h>using namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<endl;}输入:2空格3回车输出:5用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束。#include <bits/stdc++原创 2021-01-26 14:56:14 · 232 阅读 · 0 评论 -
C语言中%d等的作用(格式字符)
格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。格式字符有d,o,x,u,c,s,f,e,g等。如%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,%u以十进制数输出unsigned型数据(无符号数)。%c用来输出一个字符,%s用来输出一个字符串,%f用来输出实数,以小数形式输出,%e以指数形式输出实数,%g根据大小自动选f格式或e格式,且不原创 2021-01-25 18:14:58 · 7495 阅读 · 0 评论 -
long long n(学习笔记)
**long longlong long是C++的64位整型的基本类型,“现任”长整型。long long占用8个字节,数据表示从int的【-231,231-1],升级到【-263,263-1】。long long是C++的正式标准,这也就意味着,该类型不会因为编译器或者开发平台的不同而有所差异,放之四海而皆准,而且与一些系统函数、类库都有很好的交互(如常见的printf、scanf、cin和cout等)。...原创 2021-01-25 17:21:15 · 1290 阅读 · 0 评论 -
黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)C题 (前缀和)学习笔记
第一次打训练赛,还是太嫩了,知识点不够。题目:奉上当时自己写的代码。(用了3个for()循环,超时)。#include<iostream>#include<cmath>using namespace std;int main(){ int n,m; int b1,b2; while (cin>>n>>m) { int a[n]; for(int i=0;i<n;i++) { cin>>a[i];原创 2021-01-24 11:37:57 · 1147 阅读 · 5 评论 -
什么是#define int long long 与signed main()(学习笔记)。
对于题目给定的数据范围,有必要选择一种合理的数据类型来高效处理问题long long的范围大概是10^18,int的范围大概是1e9+1.#define int long longmain函数要改成有符号型 signed main()2.long long 不仅费空间,还容易超时3.变量类型为 long long,也可以用 typedef long long ll(直接用ll代替long long的定义)举例:#include<bits/stdc++.h>//C++万能头文件us原创 2021-01-25 15:18:21 · 7457 阅读 · 4 评论