美文网首页
JAVA笔记整理3

JAVA笔记整理3

作者: 丛鹏 | 来源:发表于2017-08-30 21:31 被阅读0次

以下是数组的常用几个案例

50 获取最大值

public static int getMax(int[] arr){

             int max=arr[0];

            for(int x=1;x<arr.length;x++){

                  if(arr[x]>max)

                             max=arr[x];

            }

          return   max;

}

public static void main(String[] args){

         int[] arr={5,1,8,19,11,23};

         int max=getMax(arr);

         System.out.println("MAX="+max);

}

public static int getMax_2(int[] arr){

         int max=0;

        for(int x=1;x<arr.length;x++){

                    if(arr[x]>arr[max]){max=x;}

        }

       return   arr[max];

}

51   数组排序---选择排序(最值出现在最前位)

3,1,4,2,7,5

pubic static void selectSort(int[] arr){

       for(int x=0;x<arr.length-1;x++){

           for(int y=x+1;y<arr.length;y++){

                  if(arr[x]>arr[y]){

                           int temp=arr[x];

                           arr[x]=arr[y];

                          arr[y]=temp;

                 }

           }

}

52数组排序---冒泡排序

3,1,4,2,7,5               (后面的是最大的,最值出现在最后位)

pubic static void bubbleSort(int[] arr){

       for(int x=0;x<arr.length-1;x++){

              for(int y=0;y<arr.length-x-1;y++){

                     if(arr[y]>arr[y+1]){

                            int temp=arr[y];

                            arr[y]=arr[y+1];

                            arr[y+1]=temp;

                     }

              }

       }

}

=========>-x  让每一次比较的元素减少;-1:避免角标越界;

堆换位置比较多时

53  数组位置置换功能抽取

public static void swap(int[] arr,int a,int b){

          int temp=arr[a];

         arr[a]=arr[b];

         arr[b]=temp;

}

调用swap(arr,y,y+1)      或者Arrays.sort(arr)

54  折半查找

//查找操作

public static int getIndex(int[] arr,int key){

          for(int x=0;x<arr.length;x++){

                if(arr[x]==key) 

                          return x;

           }

          return  -1;

}

public static void main(String[] arg){

      int arr={3,1,5,4,2,9};

      int index=getIndex(arr,2);

     S.o.p(index);

}

----------------------------------------

折半查找(1)

注:提高效率,必须是顺序的数组;

public  static  int  halfSearch(int[] arr,int key){

      int min,max,mid;

      min=0;

      max=arr.length-1;

     mid=(max+min)/2;

     while(arr[mid]!=key){

            if(key>arr[mid])

                      min=mid+1;

           else if(key<arr[mid])

                     min=mid-1;

           mid=(max+min)/2;

        }

     return  mid;

}

折半的第二种方式(2)

public static int halfSearch_2(int[] arr,int key){

      int min=0,max=arr.length-1,mid;

      while(min<=max){

                mid=(min+max)/2;

                if(key>arr[mid])

                        min=mid+1;

               else if(key<arr[mid])

                        min=mid-1;

              else

                        return mid;

      }

     return -1;       <=====    min>max

}


相关文章

  • JAVA笔记整理3

    以下是数组的常用几个案例 50 获取最大值 public static int getMax(int[] arr)...

  • JAVA学习笔记

    JAVA学习笔记,整理中,完成后上传

  • 本系列Java笔记,以廖先生Java教程为学习源,暂未整理,仅做记录之用。

  • Java笔记整理...

    Java一、类加载过程Person person = new Person();1)new的时候用到了Person...

  • 小白学java

    目录 1、配置java 环境2、java代码规范3、java笔记4、java程序编写 配置java环境 1、下载j...

  • JAVA笔记整理2

    42 函数的定义 函数就是方法一个小程序(特定功能),函数就是方法 修饰符 返回值类型 函数名(参数类型 形式参数...

  • JAVA笔记整理1

    由于现在测试对代码要求越来越高,自己看网上流行的毕向东的java基础视频,做了点笔记,方便自己日后查看,个人推存菜...

  • JAVA笔记整理4

    62 面向对象(概括) 面向对象是相对面向过程而言。 面向对象和面向过程都是一种思想。 面向过程:强调的是功能行为...

  • java近期笔记整理

    0x01 图形界面的设计 java有swing包,可以很方便地设计图形界面各种组件可以new出来,然后将其添加进c...

  • 笔记整理_3

    UT4断言 org.junit.ComparisonFailure: 反射 带有dubboservice注解的类 ...

网友评论

      本文标题:JAVA笔记整理3

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