自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 问答 (4)
  • 收藏
  • 关注

原创 运算符重载函数中const的作用

【代码】运算符重载函数中const的作用。

2022-09-20 11:53:07 309 1

原创 C++_类和对象

C++认为皆为Ex:人可以作为对象,属性有:身高、体重、年龄;行为有:吃饭、唱歌、睡觉。

2022-09-20 11:40:16 205

原创 C++函数重载/运算符重载/函数对象/谓词/内建函数对象

我们可以通过自己写成员函数来实现加号运算符的重载。但是这样呢,咱们写的函数名可能不同。这样就不统一了,所以的编译器就给我们取了一个通用的名字:operator+(oper-操作 + ator-表人 -> 操作数)。编译器还给咱们一个小礼物,我们可以不用调用这个函数了,直接用 + (当然这只是简化了,肯定调用了我们写的函数)

2022-09-20 10:32:58 251

原创 Java_final关键字/抽象类

A2:当类中包含了abstract方法时,类本身没有声明是abstract的,那么此时包含了abstract方法的类与其他普通的类是没有区别的,那么我们实例化对象时就会报错,因为遇到了abstract的方法,所以为了提高程序的清晰度,我们直接标明“这个类它就是搞抽象的,它不搞其他的”。1、private是只能在本类中使用方法2、final是方法不可被重写3、static是不可被重写的,static在类中就加载了,那么就是认定要用的。...

2022-08-12 16:08:21 177

原创 Java_为什么静态方法不可以被重写

要访问a的test,动态绑定机制发动,访问了子类的test()方法。

2022-08-11 19:09:29 737

原创 Java_代码块/单例设计模式(饿汉式 / 懒汉式)

A:如果一个对象的使用频率不高,占用了很多内存,这就不适合饿汉式了,这时需要使用一种懒加载的思想,当程序需要对象时才实例化一个。3、GirlFriend gf = new GirlFriend(),在类中实例化一个对象,保证其单例设计模式(饿汉式)就是设计出了一个模版样式,这个模式可以解决一个固定的问题,比如棋谱就是一个设计模式。A: 因为不管程序员需不需要这个类的实例,它总是在类加载中实例化一个对象出来。就是类的单个的实例的设计模式,它只实例化出一个对象,因为它比较耗用资源。懒汉式的线程安全问题。...

2022-08-09 16:32:41 141

原创 Java_断点调试/类变量/类方法/main语法

右下角那个圈里写的是“类加载”Math是一个类,sqrt是Math中的类方法,我们不用实例化一个Math的对象,直接就能够使用当中的sqrt方法了,非常方便。

2022-08-06 18:42:28 108

原创 Java_==运算符/equals方法/hashCode方法

垃圾收集GarbageCollection通常被称为“GC”

2022-07-30 15:15:03 89

原创 Java_多态/动态绑定机制/多态数组/多态参数

Pig的构造方法,先调用父类的构造方法,先将父类的成员进行初始化,然后再对子类进行初始化。Animal是父类,但是我们可以传子类进去,因为父类的内存位置是与子类一样的,我们仍可以找到这块空间。引用对象animal可以调用父类中的所有成员(遵守访问权限),但是不能调用子类的特有成员。这是因为animal的编译类型是Animal,我们只知道Animal的内存位置,并不知道Cat的内存位置。当有方法重写时,优先调用子类的方法,这与前面的方法调用规则一致。//向上转型。...

2022-07-29 15:42:19 166

原创 Java_封装/继承/super/多态

代码】Java_封装/继承/super/多态。

2022-07-26 10:46:08 72

原创 Java_为什么不在编译时分配内存空间呢?

java编译

2022-07-25 20:31:16 159

原创 二分查找算法

r=mid,是向下取整的,所以一定比r小,l=mid+1,一定比l大。

2022-07-24 15:52:31 228

原创 lowbit的算法

lowb

2022-07-16 21:22:41 439

原创 C++_STL:vector/queue/stack/deque/set/map

queuedeque(double-ended queue),即“双端队列”set:multi(很多) + set(集合):多重集合,不同,它可以重复出现同一个元素。lower_bound upper_bound

2022-07-10 13:49:00 480

原创 关于C++遍历容器时遇到的错误

set

2022-07-09 10:51:34 484

原创 C++中的引用

c++引用

2022-07-06 15:29:28 88

原创 Java_idea快捷键/包/访问修饰符

快捷键ctrl+D(duplicate)复制当前行ctrl+Y删除本行alt+/补全代码

2022-06-21 11:11:54 196

原创 图数据结构(懒猫版)

1.图的逻辑结构图的定义:图是由顶点的有穷非空集合和顶点之间边的集合组成 表示为G = (V, E)G是一个图,V是顶点的集合,E是顶点之间边的集合。注意1.在线性表中,元素个数可以为0,称为空表2.在树中,结点个数可以为0,称为空树3.在图中,顶点个数不能为0!!!!!!但可以没边图的基本术语无向图中,对于任意两个顶点Vi和顶点Vj,若存在边(Vi, Vj),则称顶点Vi和Vj互为邻接点,同时称边(Vi, Vj)依附于两顶点。...

2022-05-17 08:42:44 184

原创 gets()函数的缺陷,引入fgets()函数

gets()函数简单易用,它读取整行输入,直到遇到换行符,然后丢弃换行符,储存其余的字符,并在这些字符的末尾添加一个空字符使其成为一个字符串。那它的缺陷在哪里呢?问题出在gets()只有唯一一个参数,数组名会被转换成该数组首元素的地址,它无法检查数组是否装得下输入行。 它只知道数组的开始处,并不知道数组中有多少个元素。如果输入的字符串超过了数组的大小,会导致缓冲区溢出(buffer overflow),如果这些多余的字符只是占用了尚未使用的内存,就不会...

2022-05-16 19:19:41 434

原创 图数据结构(浙大版)

图表示多对多的关系,而线性表表示的是一对一的关系,树是一对多的关系。所以图非常强大,线性表和树都可以是认为图的一种特殊情况图包含哪些呢?1.一组顶点:用V(Vertex)vert转+ex,转肯定是绕着一个顶点转的,非常棒!它是表示顶点的集合2.一组边:用E(Edge)表示边的集合 边是顶点对:如上图v,w属于V顶点对就是一个边,用像坐标一样的形式来表示:(v, w)属于E1. 此时这个边为:无向边,这个无所谓方向的,v能找w玩,w也能找v玩。...

2022-05-08 13:41:50 578

原创 为什么输出%要用%%而不是\%

首先,对于本身有特殊含义的字符,要用转义字符来表示它本身,比如\,它是用来表示转义字符的一个标志,我们要输出它本身要用\\。 那么%在输出中是格式说明符的一个标志,也是一个含有特殊含义的字符,为什么不用\%而用%%呢? %%与转义字符无关,只与printf的格式说明符有关。 转义字符对于所有的字符串均有效,并在编译时完成。 格式说明符仅在一些函数中使用,并在运行时使用。 在字符串或单个字符时,一个...

2022-05-06 10:07:34 5025

原创 #pragma warning(disable:4996)

pragma编译指示warning警告disable dis否定 + able能 vt.使失去能力4996是错误#pragma warning(disable:错误的编号)

2022-05-01 09:15:48 805

原创 Java_重载/可变参数/作用域/构造器/this

overload(over超过 load装载)也就是说类中的方法名可以出现多个,但是形参中的列表需要重新装载。形参列表的类型不一样就可以,可以换位置

2022-04-23 18:51:38 296

原创 C++_const修饰指针

一、函数的声明:告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。注:函数的声明可以多次,但是函数的定义只能有一次。

2022-04-20 21:59:21 649

原创 树和二叉树

一个结点也可以是一根树,只不过它就只有一个根嘛,被砍了。1.结点的度,这边的度也就是说宽度:一个结点含有的子树的个数称为该结点的度。如:A结点的度为6。2.叶结点(终端结点):度为0的结点称为叶结点。如:B、C、H、I、P、Q、K、L、M、N为叶结点。也就是说它没有子结点。3.分支结点(非终端结点):度不为0的结点。如:ADE...

2022-04-20 21:24:10 185

原创 Java_老鼠出迷宫/汉诺塔

递归:递:传递归:返回回溯:从问题的某一状态出发,搜索从这一状态出发所能达到的所有状态,当一条路走到“尽头”时,再后退一步。从另一种可能的状态出发,继续搜索,直到所有的路径都试探过。这种不断前进,不断后退回溯的方法就叫这个。思路:使用递归回溯的思想1.findWay方法为专门来找出迷宫的路径2.如果找到了,返回true,否则返回false3.map是二维数组,也就是迷宫4.i, j是老鼠的位置,初始化是(1,1)5.因为是递归找数,所以要赋于数组元素...

2022-04-20 09:34:17 201

原创 java中为什么开辟数组而要new一下?

参考java 里面为什么数组都需要new一上 - 豆丁网java数组所引用的值在堆中,C是除了malloc的在堆中,而正常使用是在栈中的。java数组是引用对象,引用对象都需要开辟内存空间,这一点与C相同。new这个关键字在java中是实例化对象,也为对象开辟了内存空间。java中,int[] arr = {};这是个空数组,有几个就开辟几个空间,而C声明时可以指定大小,写在[]中总结一下:java中的对象是在堆中的,所以如果不new一下,是得不到这块空间的。而在C中...

2022-04-18 18:39:00 1368

原创 Java_递归/斐波那契

斐波那契public class exercise { public static void main(String[] args) { T t = new T(); int ans = t.fabonacci(-1); System.out.println("ans = " + ans); }}class T { public int fabonacci(int n) { if (n >= 1) { if (n == 1...

2022-04-18 18:18:50 199

原创 Java_方法/克隆对象

直接在类中写一个方法1.public代表方法是公开的2.void表示返回值为空3.spead是方法名称4.()代表方法的形式参数为空5.{}是方法体,里面是要实现的功能。方法的使用1.方法写好后,如果不去调用,则不会完成相应的操作。2.先创建对象,然后调用方法即可,比如Person.speak()调用使用点操作符(.)这边一定要注意,不要是因为空参数列表,就忘了(),这样才是一个方法。...

2022-04-17 21:28:46 3228

原创 使用->和++和=犯的一个错误,左操作数必须为左值

#define _CRT_SECURE_NO_WARNINGS 1#define MAXSIZE 100#include <assert.h>#include <stdio.h>typedef struct QueueNode{ int data[MAXSIZE]; int front; int rear;}QNode;void QueueInit(QNode* pq){ assert(pq); pq->front = pq->rear =.

2022-04-16 10:20:26 324 2

原创 约瑟夫环分析

我们需要做的是收集数据,取n的各种值,一一尝试,并开始寻找模式。所以,即使是实验中的一小部分,你也可以开始看到一些规律。如果你知道了些什么,并证明了这一点,并确保你真正理解一件事,这通常会解开其余的问题。conj对于任何数字,n = 2^a + somethingEx二进制规律...

2022-04-14 16:39:52 103

原创 LNK2005 ***已经在 ***.obj 中定义/LNK1169 找到一个或多个多重定义的符号的一种解决方法

今日犯一错,百思不得其解,故问老师,得其解,记之。我创建了一个全局变量在头文件当中,看似是没有任何问题,那么为什么会出现多重定义的情况呢?这是因为工程中,另外的.c后缀都必须要包含头文件,那全局变量就定义了多次,所以出错了。 所以下回头文件当中绝对不能定义变量和数组。...

2022-04-10 17:49:48 637

原创 Java_类与对象/面向对象/对象内存布局/属性

以我的理解来说,类就是一个种族,啊,比如说是人类或者是猫科动物。而对象呢,就是具体到一个人,或者说是一只猫猫。

2022-03-17 11:26:42 192 2

原创 力扣_876. 链表的中间结点

力扣题目描述中有这个链表是非空单链表,它的长度不是奇数就是偶数,然后我们要找到它的中间结点,所以要分两种情况。1.在奇数的情况下,剩下要走的步数是偶数,因为fast和slow的起点位置是head2.slow走1步,fast走2步3.slow要走到中间时,要花费L/2步,而fast是slow的两倍,则slow走到中间时,正好走到末尾1.偶数时,剩下的步数走奇数步。2.fast走两步,slow走一步,所以要想fast走到尾,必须要走出去。3.slow走到中间的第二个需要走L..

2022-03-16 15:26:49 449

原创 力扣_206. 反转链表

https://leetcode-cn.com/problems/reverse-linked-list/Sol1:迭代err1:struct ListNode* reverseList(struct ListNode* head){ struct ListNode* curr = head, *prev = NULL; while (curr) { curr->next = prev; prev = curr; .

2022-03-16 11:50:00 445 1

原创 Java_二维数组/作业

这边和C不同。杨辉三角import java.util.Scanner;public class SeqSearch { public static void main(String[] args) { int[][] arr = new int[10][]; for (int i = 0; i < arr.length; ++i) { arr[i] = new int[i + 1...

2022-03-15 10:08:14 947

原创 Java_数组/冒泡排序/查找

烦public class HW09 { public static void main(String[] args) { double[] hens = {3, 5, 1, 3.4, 2, 50}; double sum = 0.0; for (int i = 0; i < 6; ++i) { sum += hens[i]; } System.out.println("sum = " + sum); System.out.println("a...

2022-03-12 14:07:00 168

原创 Java_continue/return/习题

continue 继续, con全部 tin拿住 +ue,全部拿住,做事拿到尾,继续。return当return用在方法时,表示退出该方法,用在main时,表示退出程序。这和C也是一致的,不过在C中不叫方法,叫函数。(这句话不太确定)public class HW01 { public static void main(String[] args) { double money = 100000; int count ...

2022-03-07 20:59:19 328

原创 Java_random方法/break/equals方法

Math类底下有一个方法叫:random随机的 rand随机+om表性质返回带+号的double值,该值>= 0.0 && < 1注意:使用方法时,都带有(),即使当中的参数为空*100范围是>= 0 && <= 100,但是它是double类型,所以要强转。强转要考虑加括号。[0,99]再加1....

2022-03-06 12:33:26 251

原创 OJ题的两种类型

接口型IO型

2022-03-05 10:36:04 235

空空如也

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

TA关注的人

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