首页 > 其他分享 >day4

day4

时间:2023-01-01 00:33:07浏览次数:39  
标签:int day4 System ++ length println out

day4

数组篇

//        数组创建的俩种方式
//        动态创建
        int[] nums = new int[10];
//        静态创建
        int[] nums_1 = {1,2,3,4,5,6};

        System.out.println(nums.length);
        System.out.println(nums_1.length);

//        内存分析
//        定义时先存入栈中,然后在堆中开辟空间,调用超出数组长度时会出现栈溢出
        System.out.println(nums[11]);
        System.out.println(nums_1[6]);
//        java.lang.ArrayIndexOutOfBoundsException: Index 11 out of bounds for length 10

java栈:用于存放局部变量表

java堆:是所有线程共享的一块内存区域,用于存放对象实例,大部分的数组及对象实例都在此分配内存

当输出时超出数组长

//会提示相同错误
//ArrayIndexOutOfBoundsException:

数组下的类型保持一致性,同时创建完长度也就确定了

增强for循环

int[] arrays = {1,2,3,4,5};
for (int array:arrays){
    System.out.println(array);
}

二维数组

//        多维数组
int [][] array = {{1,2},{2,3},{3,4},{4,5}};

for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array[i].length; j++) {
        System.out.println(array[i][j]);
    }
}

内置排序算法调用

Arrays.sort(a);

冒泡排序(bubble)

for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a.length-i-1; j++) {
        if (a[j]>a[j+1]){
            int temp = a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
        }
    }
    System.out.println(Arrays.toString(a));
}

改进

  • 在第一层循环后加一个判断类型,
  • judge = false
  • 如果在第二层循环中有过交换,则将judge赋值为ture
  • 如果此轮比较没有交换数据,则说明已经排序完成,退出此次循环
int count2 = 0;
for (int i = 0; i < b.length; i++) {
    boolean judge = false;
    for (int j = 0; j < b.length-i-1; j++) {
        if (b[j]>b[j+1]){
            int temp = b[j];
            b[j]=b[j+1];
            b[j+1]=temp;
            judge = true;
        }
        count2++;
    }
    if (judge == false){
        break;
    }
    System.out.println(Arrays.toString(b));
}
稀疏数组

查找有效坐标

标签:int,day4,System,++,length,println,out
From: https://www.cnblogs.com/yorha/p/17017653.html

相关文章

  • 刷刷刷Day4|24. 两两交换链表中的节点
    24.两两交换链表中的节点LeetCode题目要求给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点......
  • day41_0501.二叉搜索树中的众数
    我的思路递归法如果是二叉搜索树如果不是二叉搜索树迭代法我的思路classSolution{private:unordered_map<int,int>map;vector<int>res......
  • day40_0530.二叉搜索树的最小绝对差
    递归1----不用数组递归2------借助数组迭代classSolution{public:TreeNode*pre=NULL;intresult=INT_MAX;voidtraversal(TreeNode*root)......
  • day49-初始vue
    初始vuevue在htmlcssjs的基础上进行封装和实例化,更简单方便使用vue首先要引入vue<head><metacharset="UTF-8"><title>Title</title><!--引入vue......
  • day48 连接数据库
    链接数据库软件连接命令行连接mysql-uroot-p123456​updatemysql.usersetauthentication_string=password('123456')whereuser='root'andHost='localho......
  • day46 mysql开始
    归来放假了前几天和对象出去玩了而且还阳了虚了一个多星期js学完准备一边看vue的课一边学习后端的知识安装mysql下载放置环境目录配置环境变量(由于之前安装......
  • 代码随想录Day43
    多模块项目,引用其他模块,需要在pom文件里面依赖声明。用RestFul风格进行调用。  同时需要搞一个RestFul的配置类,加载到Spring中去。 ......
  • 代码随想录Day42
    回溯算法理论基础:回溯算法的本质是穷举,可以通过剪枝来优化回溯的效率。回溯问题一般应用于:组合问题、切割问题、子集问题、排列问题、棋盘问题组合和排列的区别在于:组......
  • 代码随想录Day41
    LeetCode538.把二叉搜索树转化为累加树给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node 的新值等于原树中大于或等......
  • 代码随想录Day40
    LeetCode108.将有序数组转换成二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子......