自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 一张图让你看懂C++中类的组合与继承

@TOC一张图让你看懂C++中类的组合与继承

2024-03-07 16:53:24 385

原创 StringTable(串池)详解

文章目录1. 常量池与串池的关系2. 字符串【变量】拼接的原理 StringBuilder3. 编译期优化(字符串【常量】拼接的原理)4. 字符串延迟加载5. 可使用intern方法,主动将串池中还没有的字符串对象放入串池5.1 jdk1.8、1.7以后的intern,将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有则放入串池,并且会把串池中的对象返回5.2. jdk1.6的intern,将这个字符串对象尝试放入串池,如果有则并不会放入,【【如果没有则会把此对象复制一份再 放入串池】】,并且会把串

2022-05-05 10:49:24 1468

原创 IOC底层原理

文章目录IOC底层原理1.1 什么是IOC1.2 IOC进行解耦的过程1.3 IOC接口IOC底层原理引入:IOC底层使用到的三个部分1. xml解析2. 工厂模式3. 反射1.1 什么是IOC(1):控制反转,吧对象创建和对象之间的调用过程,交给Spring进行管理。(2):使用IOC的目的:为了耦合度降低。1.2 IOC进行解耦的过程第一步 xml配置文件,配置创建的对象第二步:(如果有Service类和Dao类,我们想在Service类中调用Dao类):创

2022-04-09 02:08:58 718

原创 String类StringBuffer类和StringBuilder类

文章目录String类1.1 String类的特性1.2 理解String类的不可变性1.3 String不同实例化方式的对比1.4 String不同拼接操作的对比关于StringBuffer和StringBuilder的使用1.1 String、StringBuffer、StringBuilder三者的异同:1.2 StringBuffer类的常用方法SrringBuffer和StringBuilder的部分源码分析1.1 下面以对StringBuffer的构造方法源码分析为例1.1.1 问题11.1.2

2022-04-08 16:31:15 410

原创 LinkedList的实现原理

文章目录LinkedList的实现原理1.1 概述1.2 LinkedList类的一些属性1.3 方法1.3.1 节点结构1.3.2 添加元素1.3.3 删除元素1.3.4 获取元素总结LinkedList的实现原理1.1 概述通过这段注释我们可以得出:LinkedList 是通过一个双向链表来实现的,它允许插入所有元素,包括 null。它是线程不同步的。1.2 LinkedList类的一些属性//链表的节点个数transient int size = 0;//

2022-04-07 15:47:08 394

原创 ArrayList的实现原理

文章目录ArrayList的实现原理1.1 概述1.2 ArrayList类中的一些属性1.3 方法1.3.1 构造方法1.3.2 get方法1.3.3 add方法1.3.4 set方法1.3.5 remove方法1.3.6 grow方法1.3.7 size方法1.3.8 indexOf方法和lastIndexOf方法Vextor1.1 Vector 比 ArrayList 多了一个属性:总结ArrayList的实现原理1.1 概述下面是源码中的一段注释通过这段注释我们可以得出:A

2022-04-07 15:21:46 503

原创 MySQL浮点类型

MySQL浮点类型1:类型介绍浮点数和定点数类型的特点是可以 处理小数 ,你可以把整数看成小数的一个特例。因此,浮点数和定点数的使用场景,比整数大多了。MySQL支持的浮点数类型,分别是 FLOAT、DOUBLE、REAL。注意:上面提到可以把整数看成小数的一个特例,所以例:我们向一个FLOAT型字段插入一个整数是可以的,只是存储的时候后面加个.00而已FLOAT 表示单精度浮点数DOUBLE表示双精度浮点数REAL默认就是DOUBLE。如果你把SQL模式设定为启用"R

2022-02-23 18:01:25 4476

原创 MySQL整数数据类型

MySQL整数类型1:类型介绍整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。区别如下:如果在表中插入数据的时候超出了最大范围会报这样的错误:Out of range value for cloumn ‘f1’ at row 18.0版本和5.7版本的不同:1:都执行下面的代码create table test_int(----f1 tinyInt,----f2 smallInt,----f3

2022-02-23 17:59:43 8019

原创 整数二分算法

一:代码模板1:如果更新的方式是:l = mid 或 r = mid - 1 即为左边界,则用下面那一个模板(l = mid 我们就要补上+1)2:如果更新的方式是:l = mid + 1 或 r = mid 即为右边界,则用上面那一个模板(r = mid 我们就不需要补上+1)bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, in

2022-01-18 17:41:36 394

原创 归并排序详解

一:代码模板int p[N];int temp[N]; //该数组的作用是用来暂存p[N]数组中的元素void merge_sort(p[], int l, int r){ if(l >= r) return; //如果数组的长度为0或者1直接返回 int mid = l + r >> 1; //选取分界点 merge_sort(p, l, mid); //将分出来的子区间执行递归操作 merge_sort(p, mi

2022-01-13 21:58:53 289

原创 快速排序算法(有代码模板)

一:代码模板void quick_sort(int p[], int l, int r){ if(l >= r) return; //如果数组的长度是0或者1,则返回 int x = p[l + r >> 1]; //随便取一个位置的数用来分区 int i = l - 1, j = r + 1; //让他们减1和加1是因为下面的循环用的是do while while(i < j) { do i

2022-01-13 17:54:17 562

原创 JUC概述和进程线程的概念

一:JUC概述JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5的时候开始开始出现。二:进程与线程进程:是计算机中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。总结:指在系统中正在运行的一个程序;程序一旦运行就是进程;进程—资源分配的最小单位。线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。(一条线程指的是进程中一个单一顺序的控制流,一个进

2022-01-13 17:26:42 159

原创 CSS3之:2D转换

一:2D转换1:2D转换之translate 1:语法translate的功能是水平移动 transform: translate(x, y);x代表水平位移 y 代表竖直位移 translate(a); 水平方向和竖直方向的位移长度均为 a translateX(a);单独表示水平的位移 translateY(a);单独表示数值的位移 2:translate的注意点 (1):也是translate的最大优点,其移动不会影...

2021-05-09 17:07:21 156

原创 数据结构之——二叉树(2)

一:二叉树的建立1:二叉链表的结点结构定义代码// 二叉树的二叉链表结点结构定义typedef struct BitNode{ TElemType data; // 结点数据 struct BitNode *lchild, *rchild // 左右孩子指针} BitNode, *BiTree;2:二叉树的建立的代码部分// 按前序遍历输入二叉树中结点的值(一个字符)// 若输入‘#’,则表示空树,构造二叉链表表示二叉树 Tvoid CreatBiTree(BiTree T){

2021-04-24 14:46:06 1098

原创 数据结构之——二叉树(1)

一:二叉树的定义 二叉树是 n(n >= 0) 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树构成。1:二叉树的特点1:每个结点的子树个数小于等于 2 ,所以二叉树中不存在度大于 2 的结点。2:左子树和右子树是有顺序的,次序不能任意颠倒。3:即使树中的某结点只有一棵子树,也要区分它是左子树还是右子树。二叉树的五种基本形态:1:空二叉树。2:只有一个根节点。3:根节点只有左子树。4:根节点既有左子树又

2021-04-17 16:29:18 1643

原创 数据结构串之——KMP算法

预说明: 下面给定的主串 S 为abcababca,副串 T 设为 abcabx一:串的模式匹配 即给定两个字符串S和T,一个设定为主串,一个设定为副串,我们要做的是在这个主串S中找到子串T的位置。二:朴素的模式匹配算法 这是最简单的,也是我们最容易想到的,即遍历主串的每一个字符,在哪个字符就在哪个字符停下来,从主串这个位置开始向后的字符串与副串相对比,如果途中遇到了一个不同的字符,则将主串的字符向后遍历一位并继续进行对比操作,如果主串中的某一段字符与副串的字符全依次相等,则子串在主串

2021-04-10 10:43:47 263

原创 数据结构之——队列

数据结构之——队列一:队列的定义队列是允许在一端进行插入操作,而在另一端进行删除操作的线性表,简称FIFO。(队列就像我们平时在超市买东西之后在收银台排队付钱一样,正在付钱的那一端即为队头,没付完一个人的钱这个人就会离开删除操作,然后在队伍的最后队尾还在源源不断的来人排队插入操作)队尾:允许插入的一端。队头:允许删除的一端。上面已经举了一个例子,再比如用键盘进行各种字母或数字的输入,到显示器上如记事本软件上的输入,都是队列的典型应用。二:队列的抽象数据类型ADT 队列(Queue)Data

2021-04-02 15:43:37 643

原创 数据结构之——栈

数据结构之——栈一:栈的定义:栈是限定是限定仅在表位进行插入和删除操作的线性表,栈又称为先进后出(Last In First Out)的线性表,简称LIFO结构。栈顶:允许插入和删除的一端称为栈顶。栈底:不可以进行插入和删除操作。空栈:不含任何数据元素的栈称为空栈。 理解栈的定义需要注意几点:1:它是一个线性表,即说明栈元素具有 线性关系,即 前驱后继 关系。只不 过它是一种特殊的线性表而已。2:定义中说在线性表的表的表尾进行插入和删除操作,注意这里表尾指的是

2021-03-27 15:09:56 7058 10

原创 工联部第四次考核任务

c语言学习总结还记得在最开始啥都不懂的时候,看到那些代码的时候我简直是一脸懵逼,本来就不是很懂英文的简直是崩溃了,感叹道:这tmd该怎么学,都不懂那些英文单词的意思,没准还要先背单词。这这这…,从没入门到放弃。但是当开始接触到了这些东西之后我慢慢的就改变了这种想法,其实这个真的不是那样的,这个东西其实没有那么难,虽然这些东西都是英文的,但是不是开始想象的那样。虽然全部都是英文的,但是都是一些很简单英文单词,而且我们平常用到的也不多,就是那几个,代码敲的多了就全记住了。**1 **最开始学的时候我首先

2020-12-06 18:02:26 139

原创 工联部第三次任务

第一题:题目内容:一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)示例:输入 0 输出 0输入 1 输出 1输入 10 输出 89 第一题的代码:#include<stdio.h>/我是这样想的:首先定义并且输入这个数字,然后计算这个数字最多可以包含多少个 2 ,然后剩下来的数都当成 1 相加,再判断有 ** 个 2 的时候有多少个1,求一个数字个数的总数在通过高中时

2020-11-27 00:10:19 307

原创 2020-11-21

标题:工联部第二次任务第一题:题目:1. 输入一个大小为 10 的整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。例子:输入一个数组:1 5 6 2 3 4 9 1子数组的最大值:18 代码部分为:在这里插入代码片//工联部第二次任务第1题/*我是这样想的;首先定义两个数组a[10] 和 sum[10],分别用来存放我们将要输入的 10 个数字和当存放遍历到某个数时,从这个数开始向后继续遍历,存放其合的 最大值。 */#include&lt

2020-11-21 21:32:00 127

原创 2020-11-14

标题: 工联部第一任务第一题;// 工联部第一次考核第一题/* 我是这样想的;首先定义并输入一个变量n, 因为有题目信息可知,如果这个数字是个负数的话直接就不会为回文数,所以在输入数字后直接判断是否为复数的话直接输出false并且加上return 0; 使程序结束,如果是一个正数,定义一个变量len且对其初始化为0,输入数字后先用一个循环,计算出输入的这个数字的位数是多少,且用len代表,然后定义一个数组,并且这个数组的长度即len,然后再通过一个for循环将这个数字的每一位数都储存在这个数组的几

2020-11-14 21:24:08 166

空空如也

空空如也

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

TA关注的人

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