当前位置: 首页 > news >正文

查漏补缺:递归,栈与堆的浅层次理解,排序,稀疏数组

java查缺补漏(打卡2)

  1. 递归注意点(由于一般用的少故此不熟练)

    • 递归头:需要一步是他不调用自身,故结束循环
    • 递归体:什么时候调用自身方法,(解决问题的方法)
    • 基数过大不建议用递归
  2. 堆与栈的浅层次理解

    • 引用传递,如果此时将数组中的array[0]改为100,那么指向没变但数值改变

    • 值引用传递,如果定义的是一个int a,那么首先赋值即就是将指针指向那个位置,在方法中调用是将指向例外一个位置,而方法没有返回值的话此时方法生命周期就结束了,而外面的指针生命周期没有结束。

      public class arr {public static void main(String[] args) {int[] num=new int[]{1,2,3,4,5,6,7,8,9,10};arr.num(num);System.out.println(num[0]);}public static void num(int[] num){num[0]=100;}
      }

    image-20260312144115266

    image-20260313151540761

    image-20260313160200905

    image-20260313160125094

  3. 排序

    • 冒泡排序(虽然很简单而且之前也做过但叫冒泡排序我就不知道是什么,原来只是比较大小排序)

      public class Sort {public void bubbleSort(int[] arr) {int n = arr.length;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}
    • 稀疏数组(将重复的数据省去,来达到压缩的空间的目的,通过还原重复的数据达到解压的目的)

      image-20260313143054051

      public class Sparse {public static void SparesArray(int[][] Spares){for (int[] spare : Spares) {for (int i : spare) {System.out.print(i + " ");}System.out.println();}int sum=0;for(int i=0;i<Spares.length;i++){for(int j=0;j<Spares[i].length;j++){if(Spares[i][j]!=0){sum++;}}}int[][]spares2=new int[sum+1][3];spares2[0][0]=11;spares2[0][1]=11;spares2[0][2]=sum;int count=0;for (int i=0;i<Spares.length;i++){for (int j=0;j<Spares[i].length;j++){if (Spares[i][j]!=0){count++;spares2[count][0]=i;spares2[count][1]=j;spares2[count][2]=Spares[i][j];}}}for (int i=0;i<spares2.length;i++){System.out.println(spares2[i][0]+"\t "+spares2[i][1]+"\t "+spares2[i][2]);}
      

http://www.jsqmd.com/news/473643/

相关文章:

  • 电容在信号处理中的四大经典应用:微分、积分、采样与电荷泵详解
  • Claude3.7Sonnet混合推理模型详解:从安装到实战开发全指南
  • AI辅助开发新思路:让快马AI设计智能邮箱生成算法与代码
  • AI大模型--概念词
  • 为什么在FreeRTOS中避免使用SysTick作为HAL时基?深入解析双时基设计
  • 基于STM32与FreeRTOS的实时多任务调度实践
  • 起步——小练习(水仙花,斐波那契)
  • Fiddler抓包实战指南:从入门到精通
  • S32K1XX系列单片机 ——(2)用EB配置MCAL:从零到一构建AUTOSAR基础软件层
  • 【技术纵览】从KF到IEKF:状态估计算法的演进脉络与工程选型指南
  • CSS 多行文本溢出隐藏与省略号显示的实战技巧
  • 从零搭建:AMESim与Matlab/Simulink联合仿真环境配置全攻略(2024版)
  • 电商订单系统崩了?3个致命PHP并发漏洞正在悄悄吞噬你的GMV:立即排查清单已备好
  • 【主力散户监控】副图指标实战解析:如何精准捕捉主力动向与散户陷阱
  • 余弦退火实战:优化神经网络训练的平滑学习率调度策略
  • 北京高价回收片仔癀!本草拾光商行上门收,懂行识货不忽悠,时效拉满 - 品牌排行榜单
  • Uniapp中renderjs解决three.js在APP中的通信阻塞问题
  • CEC2017基准实战:如何为你的优化算法设计精准“体检”方案
  • 告别Keil:基于CMake+Ninja+GCC+OpenOCD的VSCode现代化STM32开发环境全栈搭建
  • Windows 11下CH340驱动版本回溯:解决串口“幽灵设备”的实战指南
  • 从COM接口到版本选择:深度解析CarSim与Simulink联仿失败的四大症结与对策
  • Field II 超声相控阵仿真系列:多角度平面波相干合成提升成像质量
  • 【Unity3D插件】AVProVideo实战:从UI到3D物体的高性能视频播放方案
  • 【算法面试必刷】25. K 个一组翻转链表
  • SD卡/TF卡电源波动防护:从硬件设计到系统级稳定供电方案
  • Linux 0.11 进程状态变迁的日志追踪与性能分析实践
  • Blender3mfFormat插件全方位指南:3D打印工作流的革新方案
  • 跨平台分子动力学软件部署实战:从GROMACS、PACKMOL到VMD
  • 从局部对比度到注意力机制:ALCNet如何革新红外小目标检测
  • 经典IC(1):555定时器的三种工作模式与应用电路解析