• 数组的排序


    数组:是一个装大批量同类型数据的容器
    变量:是一个装数据的空间----一个变量只能装一个数据
    开一个变量-----开一个房间
    开一个数组---开多个同类型房间
    二维数组:也是一个装大批来那个同类型数据的容器
    一维数组:盖一层的楼房
    二维数组:盖多层的楼房
    一位数组 二位数组
    int[] int[][]
    double[] double[][]
    char[] char[][]
    二维数组的定义:
    第一步:开一条街 数组类型 数组名=new 变量类型[层数][间数];
    int[][] arr; //标识开了整数一条街
    第二部:在街上盖房子:指定层数和每层间数 内存空间也是连续的
    l例:2层 每层2间的整数房间
    arr=new int[2][2];//盖2层 每层盖2间的整数房间
    第3步:逐间的住人, 数组名[层下标][间下标]
    arr[0][0]=5;//层下标和间下标都从0开始
    第四步:查房
    查第一层:
    for(int j=0;j<=1;j++){
    for(int i=0;i<=4;i++){
    System.out.println(arr[j][i]);
    }
    }
     
     
    二维数组的特殊使用:
     
    一 ,二合一
    int[][] arr;
    arr=new int[2][3];
    =======>int[][] arr=new int[2][4];
    2 三和一
    int[][] arr=new int[][4]{{5,6,7,8}{1,2,3,4}};
    层数可以省略,但是间数不能省略
    简写为
    int[][] arr={{5,6,7,8}{1,2,3,4}}
     
    3二维数组的两种定义形式
    int[][]arr;等价于 int arr[][];
    4二维数组的层数:数组名.length
    二维数组的间数:数组名[层下标].length
    int[][]arr= new int[3][4];层数为3,间数为4
    层数=arr.length
    间数=aarr[0].length;//每层间数都一样
    5二维数组有默认值
    int[][] 0
    double[][] 0.0
    String[][] null
    char[][] ASCII为0的字符
     
    二维数组的查找:
    定义一个二维数组的保存,二狗子......六钩子
    String[3][2],
    一个范围,达不到的数值用小于<,达的到数值用<=
    break只能结束当前循环
    查找问题:找不到的时候提示,中间找了之后的马上结束循环
     
    二维数组的综合实例:杨辉三角
    1.两边都是1
    2.每行的列数=行号
    3.里面的任意一个数等于肩上两数之和
    要求输出杨辉三角的前十行
    二维数组默认打印出来的是10行10列的矩阵
    层数就是行数,列数就间数,行在外面,列在里面
    public class Test {
    public static void main(String[] args) {
    int[][] arr=new int[10][10];
    for(int j=0;j<arr.length;j++){
    for(int i=0;i<=j;i++){
    if(i==0||i==j){
    arr[j][i]=1;
     
    }else{
    arr[j][i]=arr[j-1][i-1]+arr[j-1][i];
    }
    System.out.print(arr[j][i]+" ");
     
     
    }
    System.out.println();
    }
     
    System.out.println();
    }
    }
     
     
    数组的排序:1、冒泡排序 2、选择排序 3、插入排序
    选择排序:小====>大
    固定一个数,拿第一个数和第二个数比,判断是否交换,拿第一个数和第三个数比,判断是否交换
    拿第一个数和后面的数比
    选择排序也是一轮一轮来的
    选择第一个数和后面比较
    选择第二个数和后面比较
    选择第三个数和后面比较
    插入排序:小=====》大
    把第一个空间分割开
    分割后把第一个数插入前面数组
     
    java.util中也有封装好的类
    //Arrays.sort(arr);
    for(int i=0; i<arr.length;i++){
     
     
    System.out.println(arr[i])
    }
    有时间学习二分法
     
     
     
     
     
    优化:当我们找到了想要的东西后,外面的循环也要结束,如下
     
     
     
     
     
  • 相关阅读:
    AndoridSQLite数据库开发基础教程(9)
    AndoridSQLite数据库开发基础教程(8)
    AndoridSQLite数据库开发基础教程(7)
    AndoridSQLite数据库开发基础教程(6)
    AndoridSQLite数据库开发基础教程(5)
    当music-list向上滑动的时候,设置layer层,随其滚动,覆盖图片,往下滚动时候,图片随着展现出来
    开发song-list组件;
    封装一个音乐列表music-list基础组件,可以共用,哪个需要的时候就是哪个props相应的值
    获取并封装歌手歌曲的数据
    使用vuex保存singer每个歌星的基本信息
  • 原文地址:https://www.cnblogs.com/xuanjian-91/p/5934614.html
Copyright © 2020-2023  润新知