- 博客(39)
- 收藏
- 关注
原创 蓝桥杯-洛谷刷题-day2(C++)
此处,只写刷题时遇到的//需要的库//定义string s;//获取长度s.length()获取s 中,有多少字符,是实际长度。在长度未知的情况下,可通过s[len - 1]访问s 的最后一个字符(len取自上文代码的变量)。值得注意的一个很简单但一忽略的点,当需要键盘输入string时,对string进行操作的函数一定要写在输入之后,int main()string s;cin >> s;//输入之后,再操作C++的更安全,不易报错,C语言的更直接。
2024-11-11 18:35:56 1045
原创 蓝桥杯-洛谷刷题-day1(C++)
1.除法c = a / b对于除法的接收者的数据类型,· c为double 时,如果a,b也是double,c的值就是正常除法的值;如果a,b为int,c的值就是a/b向下取整。· c为int 时,无论a,b如何,都会向下取整。我的理解是,a/b的除法会根据a,b的类型进行对应的操作,返回的值,传给c 会再根据c 的类型进行进一步的运算。2.向上取整int a,b,c;//这理论上,确实成功向上取整,但是在大额数据运算时,会出现问题,具体情况,俺也不知道。//标准向上取整,运用。
2024-10-31 20:10:41 663
原创 数据结构笔记(其七)--树(二叉树)
叶子结点只会出现在最后两层。· 最多只能有一个度为1的结点。· 按层序从1开始编号,结点i 的左孩子为2i,右孩子为2i+1,父节点为 i/2向下取整(如果存在)(与满二叉树相同)
2024-10-24 16:39:34 920 1
原创 Java(其十二)--集合·初级
/该 list 是可以储存各种类型的数据的,要想约束储存的数据,就需要//导包也是必要的使用前提//如同C++中的STL一般//如此,只能储存String类型的数据。
2024-05-27 19:05:21 183
原创 Java(其十)--面向对象
s2 = null;//这只是清空了s1\s2的内容,其地址储存的内容并没有清除。,其中 Student 的包含的一切都是成员,age、name 是成员变量,方法是成员方法,与C++的逻辑基本相同。用C++的语言来讲,就是构造函数,没啥区别,就写作形式有点区别,什么无参构造、有参构造,都一样,在有参构造存在的情况下,编译器会自动删除默认的无参构造,若要使用无参,需要自己再另行声明。其 this 的本质就是,接收了对应类的对象的地址。Test 代码中的 s1 储存的是。没有内容的无参构造器是默认存在的。
2024-05-18 20:07:50 386
原创 C++ -- STL(未完待续)
自定义数据类型,一般都指的是类(class),而在迭代器解引用之后,要想访问其中的数据,就需要像,对类的操作一样public:int m_age;p1(1);cout
2024-05-11 19:19:28 235
原创 Java笔记(其八)--- 方法(函数)
方法,其实就是C语言中的函数,在写作形式上仅有一点点的区别。修饰词 返回值类型 函数名(形参){ ... }
2024-05-09 21:26:15 247
原创 Java笔记(其五)--流程控制
其中的 a 的类型,只支持byte、short、int、char,不支持double、float、long(string也是支持的,这里说的是基础的数据类型)(如果 a 的类型是后者,则会报错)
2024-04-30 18:34:46 57
原创 数据结构--串(持续更)
串,又称字符串。串与线性表最大的区别就是,串针对的是字符集,也因为串是字符型,所以,对数据的处理也发生了巨大的变化(相对于线性表),比如,线性表常针对单个的元素,而串更多的是对子串的操作(多个字符的操作)(子串,一串字符中的一小段,整段字符称为主串)。
2024-04-07 20:39:30 354
原创 C++笔记--模板
可以用来通过稍作修改(不可直接使用,只是框架)就可以进行使用的通用性事物,称之为模板。建立一个通用的函数,其返回值类型和形参类型均可不做具体设置,只用虚拟的类型来代替。至于显示double等其他类型的方法,不能说和上文一摸一样吧,只能说是完全相同。生活中,就有很多模板,比如,常见的PPT模板、论文模板等等。即,直接使用,编译器会自己推导T具体为什么类型。接下来,通过一个简单的数值交换的函数来进行演示。以上文例子为例,显示int类型的方法如下,在main中的使用方法。
2024-04-07 19:29:54 210
原创 数据结构--链式队列
一些解决这个冲突的想法,用宏将那个“截取出队的临时节点”定义为全局变量,如此,其释放,便不会限制在局部的函数中,变得灵活多变,让“出队函数”不会再包含释放内存相关的内容,将这个全局变量的释放放到“队列销毁函数”中,如此,再通过if的条件判断,进行讨论,这样,或许会更为直观的看到哪里需要避免重复释放。该代码的难点就在于,对节点释放的处理,本代码中通过对象默认调用析构函数的方法,将队列的销毁融入,而不是单独在列出,也因此,在出列函数的释放中,可能会存在重复释放的冲突,
2024-04-04 10:56:37 161 1
原创 Java笔记(其三)--环境变量配置和IDEA
打开“我的电脑”,在空白处右键菜单,点击“属性”,选择“高级系统设置”(或可直接在设置中,搜索“高级系统设置”),找到并点击“环境变量”,打开界面如下在系统变量下,点击“新建”,变量名为JAVA_HOME(此变量在后续的内容中还会用到),变量值为JDK的bin所在的文件位置,如,我的为D:\1Java\JDK-21,然后,在系统变量中,找到Path,点击进入其中,在Path中,点击“新建”,输入内容为,在点击“上移”,将该变量移动到最顶层,结果大抵如下,这样,环境配置就算完成了。
2024-04-04 09:08:09 505 1
原创 C++笔记--类和对象--多态(其三)(一些小见解、一些小拓展)
• 当父类之下,存在许多不同的子类时,要想实现将不同子类对象储存在同一个数组内,可使用父类指针进行统一,例如。
2024-04-02 21:09:55 157 1
原创 C++与数据结构--随笔--数组、向量、链表
向量的内部是数组,初始数组大小(a1[100])是100,在超出最大容量之后,就会进行扩容,生成一个更大的数组(a2[200]),在将初始数组按顺序复制进去,在将超出的内容依次放入新的数组中,之后,将初始数组(a1[100])释放掉。由于,上文的操作较为费时,所以每次扩容时,都会建立一个超大的数组,经过前辈们的计算,每次新数组容量为旧数组的两倍时,最为节省时间,所以,容量是成倍增长的。(本质还是数组,只是关于数组的一些复杂操作,都经过封装,变为了一些简单的函数直接呈现给我们了)char a[100];
2024-04-02 19:46:10 320 1
原创 git安装与常用命令(其五)(持续更)--远程仓库
先在本地的文件中用Git Bash建立一个新的文件作为示例,推送到远程仓库,再在拷贝的文件中打开Git Bash进行抓取。在该文件中打开git bash,并且在源文件中打开git bash,对比两个的git-log,发现只有略微的不同。指强制覆盖,如果,上传的文件在远端仓库里已经存在,正常来说,会禁止上传,加上-f 即可使之强制覆盖,以上传的为准。一般而言,不会频繁地进行克隆,通常只执行一次。git fetch [远程仓库名] [分支名] //如果不指定远程仓库名和分支名,则抓取所有分支到当前。
2024-03-30 20:41:24 643
原创 Java笔记(其二)--“HelloWorld”
打开代码文件就会发现多了一个文件,javac为JDK提供的一种编译工具,可将.java编译为.class,该class文件即为给计算机看文件。在自己的代码文件中方,建立一个后缀名为.java的记事本(命名为HelloWorld.java)。在CMD中输入java HelloWorld,就可以输出HelloWorld。java也是JDK提供的一种工具,用来运行.class文件,),若成功,则无任何提示,若失败,会显示很多错误提示。打开CMD,并切换到代码所在的路径。对于括号,最好成对输入,再填充内容。
2024-03-30 17:31:12 258
原创 Java笔记(其一)--关于CMD
一个实用小按键(与该文章主题不能说是毫无关联吧,只能说是关联不了一点),win+E打开我的电脑,对于经常使用文件夹的人来说,这简直不要太方便。可查看当前路径下的所有内容。(注意是所有,也就是说,隐藏的文件也会展示出来哦)可在当前盘符下,进入指定的路径中。退出命令提示符窗口。(简称,关闭CMD)• cd + “目录1\目录2\....”可切换到指定的盘符。可直接回到盘符目录。电脑win+R键,会出现下图。• “盘符名称” + “:”输入CMD即可打开。最好,自行输入练习一下。
2024-03-29 20:56:31 311 1
原创 C++笔记--文件操作
第二种,二进制文件,以二进制形式储存(最简易的加密手段)C++中对文件操作需要包含头文件第一种,文本文件,以ASCLL码的形式储存。1.ofstream:写。2.ifstream:读。3.fstream:读写。如果,打开方式需要多个并行,则使用。
2024-03-26 21:23:18 264
原创 git安装与常用命令(其四)
• hotfix分支,由于修复bug,在上线产品出现bug时,就会开辟一个hotfix分支,对其进行专门的修复,修复之后,不仅要merge进master,还要merge进develop,保证开发也不会出问题。• feature分支,用来实现develop分支中的各种新功能,也就是说,在develop分支开发过程中,会不断的有feature分支合并进去(merge),呈现新功能。图中,最下面的star,就是之前合并的分支star,上面的HEAD指示当前的分支,由此,指示。此处便是所谓的“冲突”。
2024-03-26 20:45:47 1679
原创 C++笔记--类和对象--训练案例
组成零件:CPU(计算功能)、显卡(ViedoCard)(显示功能)、内存条(Memory)(储存功能)零件成产厂商:英特尔(Inter)、联想(Lenovo)组装两台不同厂商的电脑。
2024-03-25 20:42:03 189
原创 C++笔记--类和对象--多态(其二)
但是,在该代码中,如果如此写,就会报错,因为,上面的运行图中,Animal的析构函数是。时,父类指针在释放时(Base* a = new Son();在多态中,通常父类中的虚函数都用于子类的重写,自身没什么意义,所以,可以改为。可以清晰地看到,子类Cat的析构函数没有被调用,如此,会出现内存的泄露。有调用的,而且,倘若,父类中也有属性开辟在堆区,那析构函数是不得不用的。最后,问大家一下,虚析构和纯虚析构是用来干什么的来着?另外,此时,Animal类为抽象类。类的析构函数,此时,就需要将父类的析构函数改成。
2024-03-24 20:51:06 1649 1
原创 git安装与常用命令(其三)
一些手段(merge),让这两条“时间线”合并起来化为一条,在合并之前,star01的“时间线”上,发。发生S事件,而现在,作为这个世界(git bash)的造物主的我们,使用我们的神力(merge),将。这时,或许会有人想,如果这两条“时间线”里,都发生了一个被称为“A事件”的事情,但。其实,不会,因为作为造物主的我们,在创造世界,设计故事的时候,就已经分好,哪个神。这两条“时间线”揉搓在一起,成为了一条“时间线”,如此,在master的过去,也出现了S事件。
2024-03-23 20:00:03 1892 1
原创 C++笔记--类和对象--多态(其一)
多态分为两类:•静态多态,函数重载 和 运算符重载 ,复用函数名。•动态多态, 派生类和虚函数。平常说的多态大都指的是“动态多态”。静态多态和动态多态的区别:•静态多态---地址早绑定---编译阶段确定函数的地址。•动态多态---地址晚绑定---运行阶段确定地址。注:往后的代码main中的情形基本为如下形式int main()text01();return 0;
2024-03-22 20:29:35 904
原创 git安装与常用命令(其二)
假若大家用了clear(输入clear 起到清屏的作用),不知道update Genshin的ID了,则可使用git reflog指令,该指令将显示大家曾经的提交记录,其中就有update Genshin的ID。文件夹,在text中也能看到出现了一个.git目录(若没看到,则可能是小伙伴们的text没有设置“显示隐藏文件夹”),这样,我们就有了一个仓库。这条代码固然好使,但有的时候,也存在着一些我们不想让git管理的文件,这个时候,我们就要告诉git哪些文件不需要它来管理,此时,便需要用到".
2024-03-21 20:50:18 929
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人