美文网首页
数组加强

数组加强

作者: WYZ_8db0 | 来源:发表于2019-03-20 23:18 被阅读0次

    数组加强

    冒泡排序:

    通过代码实现数组中元素的从小到大排列

    思路:按角标从小到大的顺序将元素两两之间进行比较,如果前面元素的值比后面的大则交换值

    if(arr[1]>arr[2]){

    int temp=arr[1];

    arr[1]=arr[2];

    arr[2]=temp;

    }

    比较完所有次数最后一位会是数组的最大值,则开始的下一轮比较上一轮产生的最大值不参与

    二分法:

    查询一个元素在数组中的位置

    思路:和数组中间位置(索引)进行比较,来判断其元素所属的范围区间,如果比中间值大则中间值(索引)+1位置为区间最小值,小于中间值则中间值(索引)-1位置为区间最大值,查找过程在最大值等于最小值是结束

    static int getIndex(int num,int[] arr){

    int minindex=0;//最小值

    int maxindex=arr.length-1;//最大值

    int midindex=(minindex+maxindex)/2;//中间值

    while(minindex<=maxindex){//最小值等于最大值跳出循环

    if(num>arr[midindex]){//判断区间

    minindex=midindex+1;

    }else if(num

    maxindex=midindex-1;

    }else if(num==arr[midindex]){//找到了返回值

    return midindex;

    }

    midindex=(minindex+maxindex)/2;

    }

    return -1;

    }

    二维数组

    概念:

    二维数组本质是元素为一维数组的数组

    语法:

    动态创建:

    数据类型[][]数组名=new数据类型[长度][长度];

    静态创建:

    数据类型[][]={{元素1,元素2},{元素1,元素2},{元素1,元素2}};

    二维数组的遍历:

    增强for循环遍历

    public static void main(String[] args){

    int[][] ar={{1,2,3},{4,5,6},{7,8,9}};

    for(int[] e:ar){//forech遍历外层二维数组得到一维数组

    for(int a:e){//forech遍历每一个数组得到元素

    System.out.println(a);//打印元素

    }

    }

    }

    for循环遍历

    for(int i=0;i<=ar.length-1;i++){

    for(int j=0;i<=ar[i].length-1;j++){

    System.out.print(ar[i][j]);

    }

    }

    增强for循环

    语法:

    for(数据类型 e:源){//源可以是数组与集合

    System.out.peintln(e);

    }

    执行过程;

    每次从源中遍历的数据,都临时存放在里面,可以在循环内部,通过e取出到每一个元素

    工具类

    概念;

    java中已经写好的类和方法直接拿出来使用就可以了

    使用api文档

    通过索引查找类

    java.util包名

    如何调用方法

    可变参数

    概念:

    可变参数的概念:方法传入【实参】参数的个数可变

    语法:

    数据类型...参数名字

    细节:

    可变参数的语法细节

    static void print(String name,int ... a){可以

    static void print(int ... a,String name){不行

    static void print(int ... a,String ... name){不行

    可变参数的前面可以写普通的参数类型,不能写可变参数类型

    可变参数的后面:什么都不能写

    相关文章

      网友评论

          本文标题:数组加强

          本文链接:https://www.haomeiwen.com/subject/kooxvqtx.html