zoukankan      html  css  js  c++  java
  • java-冒泡排序、选择排序、二分查找

    1、冒泡排序

     1 public void bubbleSort(int[] arr) {
     2   for (int i = 0; i < arr.length - 1; i++) {                //外循环只需要比较arr.length-1次就可以了
     3     for (int j = 0; j < arr.length - 1 - i; j++) {        //-1为了防止索引越界,-i为了提高效率
     4       if(arr[j] > arr[j+1]) {
     5         int temp = arr[j];
     6         arr[j] = arr[j + 1];
     7         arr[j+1] = temp;
     8       }
     9     }
    10   }
    11 }

    2、选择排序

     1 public void selectSort(int[] arr) {
     2   for (int i = 0; i < arr.length - 1; i++) {                //只需要比较arr.length-1次
     3     for (int j = i + 1; j < arr.length; j++) {
     4       if(arr[i] > arr[j]) {
     5         int temp = arr[i];
     6         arr[i] = arr[j];
     7         arr[j] = temp;
     8       }
     9     }
    10   }
    11 }

    3、二分查找

     1 public int getIndex(int[] arr, int value) {
     2     int min = 0;
     3     int max = arr.length - 1;
     4     int mid = (min + max) / 2;
     5         
     6     while(arr[mid] != value) {                    //当中间值不等于要找的值,就开始循环查找
     7         if(arr[mid] < value) {                    //当中间值小于了要找的值
     8             min = mid + 1;                        //最小的索引改变
     9         }else if(arr[mid] > value){               //当中间值大于了要找的值
    10                 max = mid - 1;                    //最大的索引改变
    11         }
    12             
    13         mid = (min + max) / 2;                    //无论最大还是最小改变,中间索引都会随之改变
    14             
    15         if(min > max) {                           //如果最小索引大于了最大索引,就没有查找的可能性了
    16             return -1;                            //返回-1
    17         }
    18     }
    19     return mid;
    20 }
  • 相关阅读:
    Windows打开文件后提示,文件或目录损坏无法读取。
    windows10 提示内存不足
    配置Redis集群为开机自启动
    Hbase的rowkey设计
    Hbase表类型的设计
    mycat的下载和安装
    mycat简介
    mysql|tomcat|nginx|redis在docker中的部署
    docker的备份和迁移
    Redis Cluster集群详介绍和伪集群搭建
  • 原文地址:https://www.cnblogs.com/hfumin/p/10184323.html
Copyright © 2011-2022 走看看