- 博客(11)
- 收藏
- 关注
原创 双链表学习
我们在单链表中,有了next指针,这就使得我们要查找下一结点的时间复杂度为O(1)。可是如果我们要查找的是上一结点的话,那最坏的时间复杂度就是O(n)了,因为我们每次都要从头开始遍历查找。为了克服单向性这一缺点,我们的老科学家们,设计出了双向链表。双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前驱。/*线性表的双向链表存储结构*///数据域/*直接前驱指针*/
2024-03-11 11:09:49 1367
原创 c++怎么可能是6564,1去哪里了?删除操作一共就3次,一共八个数,怎么可能最后剩下4个数字?
最简单的方式就是一个value和一个next指针,构成一个简单的单链表。但是在工作中不推荐使用,因为每次调用该结构都需要重新初始化一个链表,这将极大的影响算法的速度,可以提前初始化一定数量的链表,来防止速度方面问题的影响。单链表最大的功能就是邻接表,作为存储图和树的基本结构。单链表可以用来写邻接表(包括n个链表),邻接表可以存储树和图,最短路问题、最小生成树问题、最大流问题都可以用邻接表来存储。双链表的功能是优化某些问题。大话数据结构写到,为了克服单向性的弱点(如在单链表中国查找要从头开始,如果查的元素是最
2024-03-07 10:05:07 1569
原创 学习java第六天
▲ public boolean equalsIgnoreCase(String str) : 使用调用者(String对象)的内容与参数对象的【内容】进行忽略大小写对比,相同返回true/不同返回false 【宽松对比】总结:通用的遍历方式 i < 字符串的长度,是因为字符串中的字符索引从0开始,i最大的取值就是字符串的长度-1,条件:i < 字符串的长度;★(3)字符串的截取方式 应用场景:当要对一个字符串的部门内容进行获取的时候 【截取手机号的前三位/后四位】【截取文件的后缀名】
2023-03-31 08:00:00 47
原创 方法练习题
方法练习题10:定义一个方法,方法可以创建一个长度为10的int数组,并接收一个int元素,使用随机数将数组填充满,要求填充的元素必须大于参数元素,返回数组并打印数组元素内容. ★。方法练习题19:定义一个方法,方法接收一个商品金额double数据,总金额超过200元打8折,打印是否可以打折,如果不可以,打印还差多少钱就可以打折,打折后是多少钱.方法练习题9:定义一个方法,方法接收一个int数组和两个int数据,分别两个数据分别替换数组的头元素与尾元素后返回数组并打印数组元素内容.
2023-03-30 08:45:00 73
原创 学习java第五天
★2.返回值类型:就是数据类型,声明当方法执行完成之后返回给调用的数据的类型,如果需要返回就写具体的类型 int[]/int/double,只能返回一个返回值。在有返回值的方法中,必须写return,而且必须返回一个满足方法要求的返回值,在没有返回值的方法中,也可以使用return,但是使用的时候只可以写return;方法重载出现的意义:降低调用者的学习成本,将功能相近的方法的名称定义成一样的,调用的时候系统可以根据实际传递的参数来找到对应的方法。当方法A调用了方法B,方法B没有执行完,方法A就只能等待。
2023-03-30 08:00:00 37
原创 学习java第四天
int[] arr = new int[5]的时候 ==> int[] arr(栈) new int[5](堆) => 会在堆区开辟一块空间,生成地址值赋值给栈区arr,动态初始化每一个元素都是默认值。Java中的数组就是一个容器(存储东西),特点:Java的数组长度是固定,Java中的数组存储元素的类型需要相同,Java中的数组可以存储多个元素。创建格式:(完整格式)数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,元素4};for(int i = 数组名.length - 1;
2023-03-29 08:00:00 41
原创 学习java第三天
...else{} 执行流程:依次判断每一个条件表达式的值,如果是true,就执行对应{}中的内容,结束if,如果是false,就向后继续判断。}else{代码体;} 执行流程:判断条件表达式的值,如果是true,就指定if{}中的内容,如果是false就执行else{}中的内容。执行流程:先计算()中表达式的结果,然后和每一个case后面的值进行对比,如果相同,则执行case对应的代码,如果和每一个case都不匹配,则执行default。if的格式(1) if(条件表达式){代码体;
2023-03-28 08:00:00 37
原创 学习java第二天
int b = 20;整数 : byte(1) short(2) int(4)【整数字面值的默认类型】 long(8)【定义long类型的变量需要在数据的后面加L】情况(1):小类型可以表示这个数据√ 情况(2):小类型无法表示这个数据×【数据会丢失】 情况(3):小数类型给整数类型赋值会砍掉小数部分。小数 : float(4)【定义long类型的变量需要在数据的后面加F】 double(8)【小数字面值的默认类型】+= / -= / *= / /= /%= ==> 举一反三: a+=b相当于a=a+b;
2023-03-27 15:44:08 52
原创 学习java第一天
JDK(java development kit):Java开发工具[Java提供的一些开发工具 编译工具java/运行工具java/线程观察工具jConsole/堆栈快照jMap](3) 编写代码 -> .java文件【开发者可以阅读明白,机器无法阅读】 -> 编译操作 javac .java -> 生成.class文件 -> 通过 java 类名 执行程序。- 包含JVM(java virtul machine):Java虚拟机【模拟的电脑:专门用于运行Java程序】
2023-03-18 16:42:41 53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人