zoukankan      html  css  js  c++  java
  • 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

    二、遇到的问题

          二分查找的原理没有弄懂

    三、明日计划

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

  • 相关阅读:
    Async和Await的用法
    Idea有关收藏的博客
    记录看到的写的好的、实用的JavaScript博客
    Linux实用指令一
    flex布局
    移动端开发常用的vue组件
    npm --save 的含义
    切换npm源为淘宝镜像
    java String Map List 转换
    mysql查看被锁住的表
  • 原文地址:https://www.cnblogs.com/wmdww/p/13285724.html
Copyright © 2011-2022 走看看