2020.7.11

一、今日学习内容

   1、学习第三章:查找

    (1)顺序查找

 1 public class OrderFind {
 2     public static void main(String[] args) {
 3          int[] ary= {2,3,4,5,9,7,8};
 4          int find=5;
 5          int count=-1;
 6          for(int i=0;i<ary.length;i++) {
 7              if(ary[i]==find) {
 8                  count=i;
 9              }
10          }
11      if(count!=-1) {
12          System.out.println("下标在"+count+"的位置");
13      }
14      else System.out.println("对不起,没有找到");
15     }
16 }

      输出结果:下标在3的位置

   (2)二分查找

 1 public class BinarySearchFind {
 2     public static void main(String[] args) {
 3          int[] ary= {2,3,4,5,9,7,8};
 4          int value=5;
 5          int count=-1;
 6          int low=0;
 7          int high=ary.length-1;
 8          while(low<=high) {
 9              int mid=(low+high)/2;
10              if(ary[mid]==value) {
11                  count=mid;
12                  break;
13              }
14              else if(ary[mid]>value) {
15                  high=mid-1;
16              }
17              else {
18                  low=mid+1;
19              }
20          }
21      if(count!=-1) {
22          System.out.println("下标在"+count+"的位置");
23      }
24      else System.out.println("对不起,没有找到");
25     }
26 }

      输入结果:下标在3的位置

  2、JAVA工具类中算法的实现

           在JAVA的  java.util 包下有一个类:Arrays,该类提供了诸多方法,如打印数组,排序和二分查找等等。使用步骤如下:

            导入java.util下的包中的类:import   java.util.Arrays

            调用相应的API:Arrays.方法名()

        (1)使用工具类打印数组

1 import java.util.Arrays;
2 public class ArraysPrintDemo {
3     public static void main(String[] args) {
4         int[] ary= {2,3,4,5,9,7,8};
5         System.out.println(Arrays.toString(ary));
6     }
7 }

        输出结果:[2, 3, 4, 5, 9, 7, 8]

       (2)使用工具类排序

import java.util.Arrays;
public class ArraysSortDemo {
    public static void main(String[] args) {
        int[] ary= {2,3,4,5,9,7,8};
        Arrays.sort(ary);
        System.out.println(Arrays.toString(ary));
    }
}

       输出结果:[2, 3, 4, 5, 7, 8, 9]

     (3)使用工具类进行二分查找

import java.util.Arrays;
public class ArraysBinaryDemo {
    public static void main(String[] args) {
        int[] ary= {2,3,4,5,9,7,8};
        Arrays.sort(ary);
        int index=Arrays.binarySearch(ary,3);
        System.out.println("下标在"+index+"的位置上");
    }
}

       输出结果:下标在1的位置上

     (4)Random可以生成随机类

1 import java.util.Random;
2 public class ArraysPrintDemo {
3     public static void main(String[] args) {
4         Random ran=new Random();
5         int a=ran.nextInt(10000);
6         System.out.println("a="+a);
7     }
8 }

      输出结果:a=6842

二、遇到的问题

      二分查找的原理没有弄懂

三、明日计划

      继续学习第四章的内容,阅读大道至简

posted @ 2020-07-11 22:03  小仙女W  阅读(120)  评论(0编辑  收藏  举报