zoukankan      html  css  js  c++  java
  • 【Java基础】选择排序、冒泡法排序、二分法查找

    1.选择排序:

    
    

    //改进后的选择排序,减少交换的次数
    public static void sortSelect(int arr[]) {
    //用于存放最小数的下标
    int s;
    for (int i = 0; i < arr.length; i++) {
    s = i;
    for (int j = i + 1; j < arr.length; j++) {
    if (arr[s] > arr[j]) {
    //记录最小值的下标值
    s = j;
    }
    }
    //如果最小数的下标值改变,则交换
    if (s != i) {
    int temp = arr[i];
    arr[i] = arr[s];
    arr[s] = temp;
    }

    }

    }



    2.冒泡法排序

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



    3.二分法搜索

    /**
    	 * @param a	需要搜索的数组
    	 * @param num	需要搜索的数字
    	 * @return		搜索到的数字的下标,没有找到则返回-1
    	 */
    	public static int searchByBinary(int[] a, int num) {
    
    		if (a.length == 0) {
    			return -1;
    		}
    
    		int start = 0;
    		int end = a.length;
    		int m = (start + end) / 2;
    		while (start <= end) {
    			if (a[m] == num) {
    				return m;
    			}
    			if (a[m] > num) {
    				end = m - 1;
    			}
    			if (a[m] < num) {
    				start = m + 1;
    			}
    			m = (start + end) / 2;
    		}
    		return -1;
    	}


  • 相关阅读:
    layer弹出层显示在top顶层
    PC上安装多个操作系统
    Windows下DLL查找顺序
    AHCI驱动安装
    Office 多版本共存
    Windows定时器
    Windows菜单
    Windows高精度时间
    VB6.0调用DLL
    时间服务器通讯协议
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3749583.html
Copyright © 2011-2022 走看看