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 }
  • 相关阅读:
    (Power Strings)sdutoj2475
    KMP(http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2772)
    spfa 判断负环 (转载)
    图的存储
    图结构练习——判断给定图是否存在合法拓扑序列(sdutoj)
    poj1753Flip Game(dfs)
    poj2524(简单并查集)
    VC++ GetModuleFileName()获取路径字符串中带波浪线~
    VC++ : error LNK2005: ... already defined in *.obj
    InstallSheild的一些常量
  • 原文地址:https://www.cnblogs.com/hfumin/p/10184323.html
Copyright © 2011-2022 走看看