自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 1220

原创 C/C++ 一个数字后面加上LL

拿1LL举例LL代表的意思是long long类型, 1LL是为了在计算时,把int类型的变量转化为long long类型,然后再赋值给long long类型的变量

2021-08-07 16:06:12 5743

原创 结构体内嵌比较函数bool operator < (const 结构体名 &x) const {}

bool operator < (const 结构体名 &x) const {}结构体内嵌比较函数的作用:一般来说比较函数写在结构体内会比写在外部快

2021-07-31 09:51:27 1211

原创 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 165 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 148 1

原创 快数幂算法(南昌理工学院)

ab假设a=2,b=3,ab=23,我们可以把b化为二进制1123可以化为22

2021-07-23 15:08:24 143

原创 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

原创 cin和scanf数度的区别。

如果数据范围小于105,cin和scanf没有什么区别。如果数据范围大于或等于105,scanf比cin快一倍左右的时间。

2021-07-22 09:55:21 250

原创 cin读入char的特性

当用cin读入char类型时,会自动忽略空白字符,包括空格、制表符、回车等。

2021-07-21 09:19:54 1243

原创 整数二分查找算法练习(南昌理工)

二分查找: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 150

原创 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

原创 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

原创 Acwing 3302-表达式求值(模板题)

题目链接:https://www.acwing.com/problem/content/description/3305/解题思路:要用到数据结构——栈表达式求值的两个核心:1:双栈,一个操作数栈和一个运算符栈。2:运算符优先级比较,栈顶运算符和即将入栈的运算符比较优先级。如果栈顶的运算符优先级低,新运算符直接入栈如果栈顶的运算符优先级高,先出栈计算,新运算符再入栈以1+2+3*4 *5举例,看是如何利用上述两个关键点实施计算的。首先,这个例子只有+和*两个运算符,所以它的运算符表是:

2021-07-10 17:28:15 186 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 503

原创 排序函数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

原创 break和continue在switch中的作用

continue:循环中遇到continue表示结束本次循环,进行下一次循环。break:循环中遇到break,意思是说跳出本次循环,或跳出switch语句。在for循环中,遇到break跳出整个循环,遇到continue跳出本次循环,不执行后面的语句,直接进行下一次的循环。continue一般不能用于switch语句中,但是switch语句如果在循环内的话,就可以使用continue语句。相当于说,跳出switch语句,跳出本次循环,进行下一次循环。...

2021-07-05 15:23:51 16736

原创 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

原创 C++中for(auto c:str)的代码意思

1.拷贝str中的元素时:for(auto c:str);不用知道字符串的大小,就可以拷贝str中的元素。

2021-03-19 18:14:01 818

原创 编译错误: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

原创 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

原创 字节、位、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 8102

原创 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 919

原创 辗转相除法(欧几里得算法)求最大公约数。

假如需要求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 1111

原创 ?三元运算符(三目运算符)

//三目运算符也称为三元运算符//语法格式为 (条件表达式)?表达式1:表达式2;//如果条件为true,运算后的结果是表达式1//如果条件为false,运算后的结果是表达式2;

2021-03-16 17:42:59 704

原创 关于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

原创 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

原创 c语言中<< , >>的作用

运算符>>>>:右移,将一个数的二进制位全部右移N位,高位舍弃,低位补零。>>1:相当于将一个数的二进制全部右移1位,高位舍弃,低位补零。整数中:8>>1,的含意与8/2,相同。<<:左移,用来将一个数的二进制位全部左移N位,高位舍弃,低位补零。...

2021-03-09 15:58:39 23615

原创 return的几种含义

1:returnreturn后面什么都不接,说明时void类型函数的返回,返回后不再执行return后面的语句。也就是中断返回值为void类型的函数执行。作用相当于break语句;中断循环的执行;2:return 0;一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。3. return -1;表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常。4. return 1;与return -1相同,同样表示程序异常终止;...

2021-03-07 12:31:53 5545 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 21364 2

原创 puts()的功能。

puts输出一串字符串后,会自动换行,不需要再加一个\n。自动换行。

2021-03-04 21:15:10 3110 1

原创 if(!a)的含意

if(a)和if(a!=0)等价。if(!a)和if(a==0)等价。

2021-03-04 21:11:53 11199 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 708 1

原创 局部变量与全局变量的区别。

**局部变量:**在函数内定义的变量。在函数内部定义的变量,只在这个函数内部有效。全局变量:在函数外定义的变量。相当于说从定义变量的位置到本源文件结束都有效。全局变量可以增加函数间数据联系的渠道。同一文件中的所有函数都能引用全局变量的值,所以如果在一个函数中改变了全局变量的值,就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。为了区别全局变量与局部变量:我们将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min二. 内部

2021-01-26 16:25:17 628

原创 关于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

原创 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 7494

原创 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 1287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除