zoukankan      html  css  js  c++  java
  • 选择排序 冒泡排序 二分查找法(有序的数组)

    冒泡排序       每次比较,选取一个最大的,放在右边

    public static void bubbleSort(int[] arr){
            for (int i = 0; i <arr.length-1; i++) {  //   5个数  比较4次就可以 
                for (int j = 0; j < arr.length-1-i; j++) {
                    if (arr[j] > arr[j+1]) {    // 换位操作
                        int temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }      
                }             
            }        
        }

    选择排序   每次比较,选取一个最小的 ,放在左边

    public static void chioceSort(int[] arr){
            for (int i = 0; i < arr.length-1; i++) {
                for (int j = i+1; j < arr.length; j++) {
                    if (arr[i]>arr[j]) {
                        swap(arr, i, j); 
                    }
                }
            }
        }
    public static void swap(int[] arr,int i,int j) {
      int temp = arr[i];
      arr[i] = arr[j];
      arr[j] = temp;
    }

    二分查找

    public static int getIndex(int[] arr,int value) {
            int min = 0;
            int max = arr.length-1;
            int mid = (min + max)/2;
            while(value!= arr[mid]){
                if (value > arr[mid]) { 
                    min = mid + 1;
                } else if(value < arr[mid]) {
                    max = mid - 1;
                }
                mid = (min + max)/2;
                
                if (min > max) {
                    return -1;
                }
            }
            return mid;
        }
    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    ANSI C
    如何判断机器的endianness
    union的常见用法
    主流浏览器引擎
    用宏来求数组元素个数
    inode
    分区时"磁盘上没有足够的空间完成此操作"的解决方法
    删除OEM分区
    jquery加table布局 模仿实现FaceBook Dialog
    Container.DataItem使用
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11302090.html
Copyright © 2011-2022 走看看