- 博客(31)
- 收藏
- 关注
原创 JAVA开发面试题
1、叶子节点之间有一个相互连接的引用(可以双向或单向,InnoDB中是双向),可以通过一个叶子节点找到它相邻的兄弟节点MySQL在组织叶子节点的时候用的是双向链表2、非叶子节点的值都包含在叶子节点中MySQL非叶子节点只保存了对子节点的引用,没有保存真实的数据,所有的真实数据都在叶子节点中保存3、对于B+树而言,在相同树高的情况下,查找任意元素的时间复杂度都一样,性能均衡。
2025-09-15 16:37:57
238
原创 Java中的String类
Object类的equals方法逻辑是==,但String类对equals方法进行了重写,所以比较的就是对象的内容。2、如果两个字符串的前k个字符都一样(k是长度小的那个字符串的长度),就返回两个字符串长度的差值。也是按照字典序进行比较,与上面的方法不同的是返回类型,这个方法的返回的是int类型。1、先按照字典次序大小比较,如果出现不等的字符,直接返回字符的大小的差值。======上面的是内置类型,下面的是引用类型,所以结果完全不一样。对于引用类型,== 比较的是地址,而不是对象里面的内容。
2025-04-17 15:21:53
354
原创 STL—stack(栈)和queue(队列)
st.top() 返回栈顶元素,但不会删除栈顶元素。1、q.front() 返回队头元素,但不会删除。1、st.size() 返回栈里实际元素的个数。2、q.back() 返回队尾元素,但不会删除。1、q.size() 返回队列中实际元素个数。2、st.empty() 判断栈是否为空。2、q.empty() 判断队列是否为空。1、q.push() 入队。2、q.pop() 出队。T可以是任意数据类型。1、push 入栈;T可以是任意数据类型。
2025-04-09 10:19:01
316
原创 单链表和双向链表(静态实现)
1、需要两个足够大的数组,一个存数据,一个存下一个数据的地址。2、变量h,充当头指针,表示头节点的位置。3、变量id,为新节点分配位置。int h;int id;只是多了一个前指针域int h;int id;
2025-04-09 10:02:58
507
原创 sort函数
函数原型如下:在默认情况下sort函数,按升序对给定范围[first,last)中元素进行排序。sort函数需要包含头文件< algorithm >使用自定义排序方式comp);sort 的第三个参数是⼀个可选的⾃定义比较函数(或函数对象),⽤于指定排序的规则。如果不提供这个参数,std::sort 默认会使用小于运算符( < )来比较元素,并按照升序排序。这个比较函数,接受两个参数,并返回⼀个布尔值。如果第⼀个参数应该排在第⼆个参数之前,则返回true;否则返回false。
2025-03-11 20:17:14
807
原创 x进制转换成10进制
说明和提示里有1<=x<=36。将x进制转化成10进制,就是按位乘以权重。也可以使用库函数,直接转化成10进制。3、倒叙遍历,转化成整形再按位乘以权重。2、求出字符串S的长度。
2025-03-09 10:45:21
228
原创 将十进制的数转化成任意进制的数
注意:转换成16进制的时候会有字母,所以需要用到一个数组,string s=“0123456789ABCDEF”(1)x_to_m(13/2,2) 先将13/2得到的6转化成2进制。x_to_m(13,2) 可以转化成(1)(2)两步。x_to_m(x,m)将10进制的x转化成m进制。根据我们已知的知识,可以进行模几除几来转换。特殊情况:被转换的数<2就不需要进行转换了。10进制的13–>2进制的1 1 0 1。(2)再加上13%2。
2025-03-09 09:44:51
195
原创 传引用调用
注意:数组传参的时候,形参和实参本就是同一个数组,所以数组传参不需要使用引用参数。需要的头文件为 < utility >引用传参的效率要高于传值调用的方式。可以交换两个变量或者数组的值。
2025-03-05 19:19:53
188
原创 函数形参讨论
全局变量的作用域很大,在整个程序中都可以使用,那么只要把变量、数组等定义成全局变量,在函数中使用,是可以不用传参的,在竞赛中为了放便经常使用,但是在软件工程中很少这么使用。3、形参如果是二维数组,行可以省略,但是列不能省略。5、形参操作的数组和实参的数组是同一个数组。2、形参如果是一维数组,数组大小可以不写。4、数组传参,形参是不会创建新的数组的。1、数组传参的时候,实参只能写。形参改变不会影响实参。
2025-03-04 23:49:13
244
原创 scanf/printf 和 cin/cout的对比
所以,在一些题目中,如果输入的数据良比较小(十得六次方以内),则用cin/cout或scanf/printf都可以通过,但如果数据量较大(十的九次方左右),更推荐用scanf/printf,用cin/cout可能导致代码超时。************** cout默认不会输出六位小数,自动忽略小数点后多余的0,printf函数打************** 印浮点数的时候,小数点默认打印6位。cin和scanf:scanf在进行输入的操作的时候,要注意格式,而cin就不用。在main函数中加入以下代码。
2025-03-04 21:32:39
368
原创 字符串的翻转
原字符串为s1,利用reverse将字符串逆序为s2,再去判断s1与s2是否相等即可.注意:返回值是void,不能直接进行输出。reverse()可以完成字符串的翻转。需要头文件 < algorithm >
2025-03-03 17:27:01
162
原创 统计字符个数
这道题难点是包括空格和换行符----这两个都是空白字符,用到isspace。也就是遇到空格会停止,所以用到cin,每个单词读取后进行相加。方法一、一次性读取整行字符,然后统计。1、cin :遇到空格或换行符结束。2、getline:遇到换行符结束。思路:先进行读取,读取有两种方式。这就需要用到的getline。需要对字符串进行遍历。方法二、按照单词读取。
2025-03-03 11:03:22
428
原创 备战蓝桥杯国赛(7)
这里的 e 是一个单独的变量,不是数组元素,所以对 e 的修改不会影响数组。auto 的主要用途是让编译器自动推导出变量的类型。ptr – 指针:指向了要设置的内存块的起始位置。destination – 目标空间的起始地址。memset 是用来设置内存的,将内存中的值。source – 源数据空间的起始地址。语句 //多条语句需要加大括号。num – 拷贝的数据的字节个数。设置成想要的内容,需要头文件。value – 要设置的值。num – 设置的字节个数。
2024-12-18 16:21:11
424
1
原创 备战蓝桥杯国赛--第三天(2)
由题目中“从a时b分一直游到当天的c时d分”可知,这题难度明显减小,不需要再考虑c时d分是第二天的;第二种b>d,这种情况就不能直接减了,还需要从前面的小时中借一个小时出来。第一种b<d,此时简单,c-a即可得到小时数,d-b即可得到分钟数。算一下两个时间与0时0分的时间差,将其都换算成分钟,再进行做差。负数求模时,模的正负取决于第一个数的正负。题目说的很明白,便不再解读了;
2024-12-08 20:57:46
461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅