- 博客(38)
- 收藏
- 关注
原创 秋招刷题推荐
优点3: 平台主页有博客,以及各大公司真题知识点思维导图,讲解全面,有利于查漏补缺。优点2: 该平台和公司笔试模式一样,都是Acm输入输出,更有利于准备秋招。参加了24年秋招,除了常见的LC,还需要重点刷某些大厂的常见题。优点1: 题目全部改编自公司笔试真题,可以做做往年真题练手。另外有很多大佬,每题都有题解。
2023-08-31 11:59:14
198
原创 C++map的用法
void showmap(map<string, int> v){ for (map<string, int>::iterator it = v.begin(); it != v.end(); it++) { cout << it->first << " " << it->second << endl; //注意用法,不是用*it来访问了。first表示的是key,second存的是va...
2021-02-24 22:41:39
312
原创 C++vector的用法
vector<int>v={0,1,2}; //vector的基础操作 //插入元素 for(int i=3;i<10;i++){ v.push_back(i); } v.insert(v.begin(),3,1000) ; //将1000分别插入到向量元素位置的0-2处; //访问元素 for(int i=0;i<v.size();i++){ cout<<v[i]<<"...
2021-02-24 21:19:56
266
原创 C++ string的用法
//读取与拼接 string a; cin>>a;//遇到空格停止读取 getline(cin,a);//读取一行元素 cin.get();//搭配cin.get读取回车 a=a+"hello!";//字符串拼接 //对象访问操作 cout<<a[10];//用下标直接访问string cout<<a.find("hello",0);//hello是查找的子串,0是起始位置 if(a.find(.
2021-02-24 19:53:58
314
原创 c++链栈和链队的实现(类)
//链队#include <iostream>using namespace std;struct qnode{ int data; qnode *next;};class queue{ public: queue():f(NULL),r(NULL) {} int front(); void enqueue(int); void dequeue(); bool.
2021-01-27 22:17:26
216
原创 复试笔记c++(2)——如何调整基类成员在派生类访问属性(访问声明、同名成员)
方式一:使用同名成员在派生类中重新定义一个和基类名字相同的成员,这样相当于狸猫换太子,在派生类中用这个名字就是狸猫,如果想访问太子,那么需要使用 基类名:: 的方式去访问太子方式二:访问声明把基类的成员放到派生类的成员中一起声明比如:class A{ void print();}class B: private A{ public: A::print;}访问声明机制可以在私有派生类中个别调整从基类继承下来的成员,但是基类的私有成员不能使用访问声
2021-01-19 21:52:26
417
原创 复试笔记C++(1)——继承和派生类
4.1.1派生类为啥要用派生类——减少代码的重复(偷懒)4.1.2派生类的约束(偷懒是要付出代价的)有三种继承方式 私有、保护、公有有两种访问规则-内部访问and对象访问,因此情况就变得复杂了呢构成接收基类的成员:按着继承方式,接收除了基类的构造和析构函数的所有成员 派生类调整基类成员:不能挑基类成员(所以收战俘应该不能用继承的方式),但是可以调整,有两个方面的调整,一个是改变基类在派生类的访问属性(三种继承方式),二是派生重新定义同名成员,直接覆盖掉,这就要求我们不仅名字一样,形.
2021-01-16 12:10:32
199
原创 scanf读入问题
今天刷题的时候,尝试文件读入5 4##.###S##..##.###..#5 4##.###S##..#..#.#.##发现一个问题,scanf在读入完数字之后,用cin.get()处理一下回车,否则读不进去字符cin>>n>>m;//cin.get(); for(int i=1;i<=n;i++){ fo...
2020-03-08 21:03:29
360
原创 打铁就女装 C++中如何指定小数位数
在C++中,是没有格式符的,我们可以通过使用setprecision()函数来实现这个需求。想要使用setprecision()函数,必须包含头文件#include <iomanip>cout << "a=" << setprecision(2) << a <<endl;cout有自己吞0的问题如果我们想要让它自动补0,...
2019-01-22 21:44:24
697
原创 打铁就女装(1) C 如何输入多组数据
while(~scanf("%d",&A))~ 是按位取反运算符,属于单目运算符通过这样这样也可以获取多组数据while(scanf("%d",&A)!=EOF)这种方式通过文件结束标志完成数据的连续输入但是这种方法有一个弊端当输入为字符的时候,会读进去回车int main(){ //int a=-2; int a,b;...
2018-11-10 15:05:25
239
原创 蓝桥杯——罗马数字转换器
古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: I 1 V 5 X 10 L 50 C 10...
2018-09-04 22:28:51
1854
原创 蓝桥杯——信号卡效验器
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。该校验的过程:1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。3、将奇数位总和加上偶数位总和,结果应该可以被10整除。...
2018-09-02 17:31:31
247
原创 分组问题
有N个人参加100米短跑比赛。跑道为8条。程序的任务是按照尽量使每组的人数相差最少的原则分组。例如:N=8时,分成1组即可。N=9时,分成2组:一组5人,一组4人。N=25时,分4组:7、6、6、6。请编程计算分组数字。要求从标准输入获得一个正整数(1~100之间,不必考虑输入错误的情况),表示参赛的人数。程序输出每个组的人数。从大到小顺序输出,每个数字一行。比如,用户输入...
2018-09-01 23:25:38
1272
原创 分治算法的学习笔记
分治算法应用一:汉诺塔问题问题描述:汉诺塔问题来源于一个古老的传说,世界刚被创建的时候,有一座钻石宝塔,上面有64个金碟,所有碟子按照从大到小的顺序从塔底堆到塔顶,从世界创世开始,牧师们一直在努力将塔A的碟子借助B移到C上,每次只能移动一个,而且不能让小的放在大的下面原理:对汉诺塔问题的求解简化为以下步骤将塔A上n-1个盘子借助塔C先移到塔B上 将塔A剩下的一个盘子移到塔C上...
2018-08-31 23:32:37
434
原创 蛮力算法笔记
蛮力算法的应用一:排序算法问题描述:(冒泡排序)给出一系列的随机数并对其按照从大到小或者从小到大的顺序进行排列原理:通过每一个位置当前元素都跟后面的元素进行比较,满足条件的话进行交换伪代码:void exchange(int str[],int n){ for(i=1;i<n;i++) for(j=i+1;j<n;j++) ...
2018-08-31 23:31:58
731
原创 蓝桥杯——取球博弈
今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) ...
2018-08-31 23:20:01
348
原创 蓝桥杯——手机尾号测评器
#include<iostream>using namespace std;int search(int b[]){ int i; int sum=0; //连号的情况 if(b[0]==b[1]+1&&b[0]==b[2]+2&&b[0]==b[3]+3) {sum+=5;} if(b[0]==b...
2018-08-31 23:05:16
437
原创 C++prinmer plus——数组的替代品
数组的替代品(1)模板类vector类似于string,可以在运行阶段设置对象vector的长度,在末尾附加新数据,vector自动用new和delete来管理内存首先要使用vector对象,必须包含头文件vector其次vector包含在内存空间std中,因此您可以使用using编译指令第三,模板使用不同的语法指出他存储的数据类型第四,vector使用不同的语法来指定元素数#i...
2018-08-29 15:03:33
303
原创 C++primer plus——字符串的故事2
(1)每次读取一行输入getline()和get()函数都读取一行输入,直到达到换行符,但是getline()将丢弃换行符,get()将换行符保留在输入序列中(2)首先介绍getline()调用方法是cin.getline(),如果数组只有19个字符,余下空间用于储存自动在结尾处添加空字符,getline()成员函数在读取指定数目的字符或者遇到换行符时自动停止读取,并且在读取完输入内容...
2018-08-27 18:52:07
238
原创 C++primer plus——指针
指针(1)显示地址时,cout使用十六进制表示法(2)指针实际上将地址视为指定的量,值视为派生量,用于储存值的地址(3)int * p1,p2上句实际上将创建了一个指针和一个int变量(4)地址储存的值类型不同,但是地址本身长度一般相同(5)隐匿的bugint* a*a=15程序容易出现崩溃(6)正确的处理方式int* aa=地址符 b(7)new开辟的是为数据项分配...
2018-08-27 18:51:32
236
原创 C++primer plus——字符串的故事
(1)两种写法的区分char a=“s”;//s不是字符常量,而是两个字符“s”和/0终止符组成的字符串,事实上,“s”表示的是字符串所在的内存地址,这个语句试图用一个内存地址赋给a,地址在C++中是独立的类型,因此C++不允许这种做法char a='a';'s'实际上是83的另外一种写法,下面的语句试图将83赋给a(2)拼接字符串常量输出语句中,任何两个由空白(空格、制表符和换行...
2018-08-27 18:50:05
308
原创 C++primer plus——字符和浮点数
(1)成员函数cout.put类ostream有一个put()成员函数,用来输出字符,只能通过类的特定对象(例如这里的cout对象)来使用对象,所以cout.put的意思是,通过类对象cout来使用函数put()cout.put()也提供了另外一种显示字符的方法,即<<运算符(2)对于常规字符,最简单的方法是将字符用单引号' '括起,这种方法代表的是字符的数值编码,如'A'...
2018-08-27 18:49:23
226
原创 C++primer plus——对象数组小结
(1)初始化对象数组的方案是,使用默认构造函数创建构造函数,然后花括号中的构造函数将创建临时对象,然后将临时对象的内容复制给相应元素,因此要创建类独享数组,这个类必须有默认的构造函数(2)::被用来把类转换成this指针,然后用这个指针访问数据成员(3)类的作用域在类中定义的名称(如类的数据成员和成员函数)的作用域作用在整个类,类外是不可知的,因此不同类中使用相同的名字不会引起混乱...
2018-08-22 23:41:47
474
原创 人民币大写金额转换
#include<iostream>using namespace std;char exchange(int a);int search1(int a){ /////////////////////////////////////////////// int yi,qw,bw,sw,w,k=0,b=0,shi=0,ge=0; int &s=sh...
2018-08-21 23:28:55
1031
1
原创 C++primer plus——this 指针的故事
假设我们现在要比较两个对象之间某个值的大小,从效率上考虑,可以按照引用来传递参数,于是我们就可以和之前的const联系在一起const stock & top(const stock &s)const ;注:第一个const表示返回类型为const的引用,括号里的const表示显示访问对象s时,不能修改对象s中的内容,最后一个const表示隐式访问top对象是,不得修改to...
2018-08-21 22:15:14
349
原创 C++prinmer plus——构造函数和析构函数是个什么鬼(2)
(1)注意对象的生存期,不是所有对象都在程序结束后才释放比如int main(){{Stock stock1;}return 0;}这个对象在程序到达返回语句之前就被释放,调用析构函数(2)构造语句的语法问题Stock stock1("HELLO",12);// create an object and initislize itStock stock2=stoc...
2018-08-17 09:06:18
197
原创 肝C++primer plus——构造函数和析构函数是个什么鬼
(1)类的数据成员中加m_前缀表示在提示这是类的成员(2)显示调用构造函数stock food=stock("world cabbage", 250 , 1.25 );隐式调用构造函数stock garment("sss",34,12);(3)如果为类提供了构造函数后,程序员必须再提供一个默认的构造函数(4)隐式调用默认构造函数时,不要使用圆括号(5)析构函数没有参数,...
2018-08-15 21:43:09
236
原创 肝C++ primer plus的——基本整型
(1)基本整型有四种,char、short、int、long、long long(2)头文件climits定义了符号常量所表示的类型的限制,如INT_MAX表示类型int所能存储的最大值(3)C++11中定义了一种新的初始化变量的方式int w={2};int w{2};(Devc++不可用)int w(2);大括号初始化器内可以不包含任何东西,这时变量将被初始化为0(...
2018-08-07 20:46:36
183
原创 肝C++ primers plus——基本语句并不基本
(1)在C++中赋值语句中可以这么玩a=b=c=4;原因是赋值是从右到左,4赋值给了c,c赋值给了b,b赋值给了a(2)cout很聪明,cout输出的应该是字符串,但是遇到整数时,他可以将整数转化成转换为字符串(3)对于聪明的cout来说,C++中标记间的换行符和空格可以互相替换,比如 cout<<"hello new word" <<" nice...
2018-08-06 21:19:40
217
原创 密码生成器
在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。 变换的过程如下:...
2018-08-05 22:13:49
2365
1
原创 肝C++primer plus——名称空间也有很多自己的故事
前言:在新版Devc++中使用了C++的新式风格,有些C的头文件被转换为C++的头文件,这些文件被重新命名,去掉了扩展名.h并在文件前面加上前缀c(表明来自C语言),例如math转换为了cmath,而且名称空间namespace std取代了.h进入我们今天的正题——using namespace std;首先这叫做using 编译指令,而名称空间有助于编写大型程序时便于组织程序,能够让厂...
2018-08-05 11:22:17
192
原创 肝C++ primer plus的第1天——main函数没有那么简单
一、main( )函数大学里学到的main函数还是很少的,看完才发现main函数没有想象的那么简单C++的语法要求main函数的定义从函数头int main() 开始,通常main( )被启动代码调用,启动代码是编译器添加到程序里的,而main( )函数的空括号意味main( )函数不接受任何信息或者不接受任何参数,简而言之int main( )表明main( )函数可以给调用他的函数返回...
2018-08-05 10:47:00
215
原创 第五次课
1.pow函数用来求10的次方2.**并不代表次方的运算3.for循环的执行顺序为 表达式1--表达式2--语句块--表达式3--表达式24.在不知道循环多少次的情况下用 do while循环 在已知次数的情况下用for循环5.for循环先判断再执行 do while 先执行再判断 while先判断后执行6.continue终止本次循环,进行下一次...
2017-12-15 18:21:48
419
原创 第四次课
求余数%运算:左右均为整型,同时要注意两数之间的大小关系 逻辑运算符的顺序!> && > ||c>a+b=c>(a+b)a>b==0 = (a>b)==0a==b<c = a==(b<c)a=b>c a=(b>c) 选择结构 / 分支结构优化:1.if()括号中范围越...
2017-12-09 16:50:03
218
原创 第三次课
if语句中注意事项:if中不可以出现5<a<10的形式,应该以a<10&&5<5的形式出现运算是前面为真则为1,假为0,不论如何都是小于10,所以if语句中不能出现在if语句中=是赋值语句,若想判断,则应== int a=10;定义一个变量的同时赋值字符型变量定义方式:char ch='A'%所代表的类型集合: %x十六进...
2017-12-02 13:52:15
338
原创 第二次课
浮点数在内存中存储分为三个部分1.符号位2.阶码3.尾数指数+127=阶码尾数:23位,若凑不够尾数,在后面放0阶码:8位 -128~127小端:低地址放低数据 PC inter大端:低地址放高数据 手机 网络2.算法为解决一个问题而采用的方法和解题步骤为什么不提倡用scanf:为什么要写成一个功能函数:方便在以后供其他人调用,防止和其他函数变量...
2017-11-23 22:55:38
341
原创 第一次课
数据类型分为整形 char int unsigned short long longlong 浮点型 double float浮点型中 float a=123456789 并不能显示,因为把内存给小数 double a每种数据类型 整形 ...
2017-11-14 18:17:00
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅