- 博客(45)
- 收藏
- 关注
原创 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
1369
原创 C/C++ 一个数字后面加上LL
拿1LL举例LL代表的意思是long long类型, 1LL是为了在计算时,把int类型的变量转化为long long类型,然后再赋值给long long类型的变量
2021-08-07 16:06:12
6141
原创 结构体内嵌比较函数bool operator < (const 结构体名 &x) const {}
bool operator < (const 结构体名 &x) const {}结构体内嵌比较函数的作用:一般来说比较函数写在结构体内会比写在外部快
2021-07-31 09:51:27
1246
原创 DP--01背包问题(南昌理工学院ACM集训队)
https://www.acwing.com/problem/content/2/题目链接01背包问题的解题思路在解决问题之前,为描述方便,首先定义一些变量:Vi表示第 i 个物品的体积,Wi表示第 i 个物品的价值,定义f[i][j]:当前背包容量 j,前 i 个物品最佳组合对应的价值我们在选第i个物品的时候,有两种选择,选第i个物品,不选第i个物品。当我们不选第i个物品的时候对应代码为f[i-1][j]当我们选第i个物品的时候对应的代码为f[i - 1][j - v[i]] + w[i
2021-07-31 09:31:33
186
2
原创 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
177
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
11423
1
原创 int和long long的取值范围
C语言中int的取值范围为:-2147483648 ~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808
2021-07-22 12:04:16
2550
原创 cin和scanf数度的区别。
如果数据范围小于105,cin和scanf没有什么区别。如果数据范围大于或等于105,scanf比cin快一倍左右的时间。
2021-07-22 09:55:21
282
原创 整数二分查找算法练习(南昌理工)
二分查找:1:确定一个区间,使我们要查找的值一定在区间中。2:找一个性质满足——1:性质具有二段性,将区间分成两段。——2:答案是二段性的的分界点。如下我们将区间分为红色和绿色两个部分。注意这里分为两部分并不是平均分为两部分,而是根据我们要查找的ans来分为两部分。接下来可以分为两大类第一类:ans是红色区间的右端点,M是区间的中点将[L,R]分为[L,M-1],[M,R],如果M位于红色区间,说明ans位于区间[M,R]。反之ans必然在[L,R-1]。核心代码while
2021-07-17 10:19:12
175
原创 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
1063
原创 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
576
原创 Acwing 3302-表达式求值(模板题)
题目链接:https://www.acwing.com/problem/content/description/3305/解题思路:要用到数据结构——栈表达式求值的两个核心:1:双栈,一个操作数栈和一个运算符栈。2:运算符优先级比较,栈顶运算符和即将入栈的运算符比较优先级。如果栈顶的运算符优先级低,新运算符直接入栈如果栈顶的运算符优先级高,先出栈计算,新运算符再入栈以1+2+3*4 *5举例,看是如何利用上述两个关键点实施计算的。首先,这个例子只有+和*两个运算符,所以它的运算符表是:
2021-07-10 17:28:15
243
1
原创 二分查找算法模板(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
536
原创 排序函数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
1842
1
原创 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
367
原创 break和continue在switch中的作用
continue:循环中遇到continue表示结束本次循环,进行下一次循环。break:循环中遇到break,意思是说跳出本次循环,或跳出switch语句。在for循环中,遇到break跳出整个循环,遇到continue跳出本次循环,不执行后面的语句,直接进行下一次的循环。continue一般不能用于switch语句中,但是switch语句如果在循环内的话,就可以使用continue语句。相当于说,跳出switch语句,跳出本次循环,进行下一次循环。...
2021-07-05 15:23:51
17281
1
原创 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
2248
原创 C++中for(auto c:str)的代码意思
1.拷贝str中的元素时:for(auto c:str);不用知道字符串的大小,就可以拷贝str中的元素。
2021-03-19 18:14:01
871
原创 编译错误: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
5845
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
2734
原创 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
896
原创 字节、位、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
9481
原创 public static void main(String[] args)的含意
public static void main(String[] args){ }1、这个函数,我们称之为主函数,它的特殊之处在于:1、格式是固定的2、被jvm所识别和调用2、各组成部分含义:public:权限必须是最大的static:不需要对象,直接用主函数所属类名调用即可,例如:在DOS窗口编译执行JAVA程序时,我们输入的是: java 类名,而jvm则会调用 类名.main 方法来执行,所以不需要新建对象。void:主函数没有具体的返回值。main:函数名,不是关键字,只是一个jvm
2021-03-17 17:18:08
1002
原创 辗转相除法(欧几里得算法)求最大公约数。
假如需要求1997和615两个正整数的最大公约数,以下使用欧几里得算法。1997 / 615=3(余152)615 / 152=4(余7)152 / 7=21(余5)7 / 5=1(余2)5 / 2=2(余1)2 / 1=2(余0)最后得到最大公约数为1。叫辗转相除是因为,计算的过程中,除数与被除数在更新后总要交换来回除,所以叫辗转求两个数的最大公约数的代码实现int gcd(int a, int b){ return b==0?a:gcd(b, a%b);}...
2021-03-16 19:17:58
1149
原创 ?三元运算符(三目运算符)
//三目运算符也称为三元运算符//语法格式为 (条件表达式)?表达式1:表达式2;//如果条件为true,运算后的结果是表达式1//如果条件为false,运算后的结果是表达式2;
2021-03-16 17:42:59
765
原创 关于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
884
原创 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
1743
原创 c语言中<< , >>的作用
运算符>>>>:右移,将一个数的二进制位全部右移N位,高位舍弃,低位补零。>>1:相当于将一个数的二进制全部右移1位,高位舍弃,低位补零。整数中:8>>1,的含意与8/2,相同。<<:左移,用来将一个数的二进制位全部左移N位,高位舍弃,低位补零。...
2021-03-09 15:58:39
23855
原创 return的几种含义
1:returnreturn后面什么都不接,说明时void类型函数的返回,返回后不再执行return后面的语句。也就是中断返回值为void类型的函数执行。作用相当于break语句;中断循环的执行;2:return 0;一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。3. return -1;表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常。4. return 1;与return -1相同,同样表示程序异常终止;...
2021-03-07 12:31:53
5826
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
21541
2
原创 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
758
1
原创 局部变量与全局变量的区别。
**局部变量:**在函数内定义的变量。在函数内部定义的变量,只在这个函数内部有效。全局变量:在函数外定义的变量。相当于说从定义变量的位置到本源文件结束都有效。全局变量可以增加函数间数据联系的渠道。同一文件中的所有函数都能引用全局变量的值,所以如果在一个函数中改变了全局变量的值,就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。为了区别全局变量与局部变量:我们将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min二. 内部
2021-01-26 16:25:17
687
原创 关于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
252
原创 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
7921
原创 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
1351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人