美文网首页
选择排序,冒泡排序,二分查找法

选择排序,冒泡排序,二分查找法

作者: Nic_ofh | 来源:发表于2017-12-15 14:36 被阅读0次

public class Main {

public static void main(String[] args) {

    int[] ints = {1,2,3,4,5,6,7};

    maopao(ints);
    System.out.println(halfSearch(ints, 6));


}

// 选择排序:从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处
private static void select(int[] ints) {
    for (int i = 0; i < ints.length - 1; i++) {
        for (int j = i + 1; j < ints.length; j++) {
            if (ints[i] > ints[j]) {
                int temp = ints[i];
                ints[i] = ints[j];
                ints[j] = temp;
            }
        }
    }
}

private static void print(int[] ints) {
    for (int anInt : ints) {
        System.out.println(anInt);
    }
}


// 冒泡排序: 相邻元素两两比较,因此最后一项不用比较,大的往后放。第一次完毕,最大值在最后面(最后一位索引)
private static void maopao(int[] ints) {
    for (int i = 0; i < ints.length - 1; i++) {

        for (int j = 0; j < ints.length - 1 - i; j++) {
            if (ints[j] > ints[j + 1]) {
                int temp = ints[j];
                ints[j] = ints[j + 1];
                ints[j + 1] = temp;
            }
        }
    }
}

// 二分查找法: 数组一定是有序的

private static int halfSearch(int[] ints, int value) {
    int max = ints.length - 1;
    int min = 0;
    int mid = (max + min) / 2;


    while (ints[mid] != value) {
        if (value > ints[mid]) {
            min = mid;
        } else if (value < ints[mid]) {
            max = mid;
        }
        mid = (max + min) / 2;
    }

    return mid;
}

}

相关文章

  • 冒泡,选择,插入排序以及二分查找

    冒泡排序 选择排序 优化选择排序 插入排序 排序案例 二分法查找 二分法查找的前提是数组必须是有序的; 二分查找案...

  • Java实现常见的算法

    主要罗列了常见的选择排序,冒泡排序和快速排序,还有二分查找的算法。 选择排序 冒泡排序 快速排序 二分查找 注意二...

  • 常见算法的 Python 实现

    二分法查找 非递归版本: 递归方法实现: 冒泡排序 选择排序

  • 常见排序算法

    目录 1. 二分查找法2. 冒泡排序3. 快速排序4. 插入排序5. 鸡尾酒排序6. 选择排序 二分查找法 适用范...

  • OC常用算法

    排序算法 冒泡排序 选择排序 快速排序 插入 二分查找

  • 算法之:排序

    排序算法 冒泡排序 选择排序 快速排序 插入 二分查找

  • Python基础-day07

    list 排序 二分法查找 可迭代对象 迭代器 元组 排序 ​ 冒泡排序 选择排序 插入排序 希尔排序 堆排序...

  • 18-04-27  python3 算法笔记 003查找与排序

    查找: 顺序查找 二分查找 hash查找 排序: 冒泡排序 选择排序 插入排序希尔排序 归并排序 快速...

  • 基本算法

    冒泡算法 选择排序 插入排序 顺序查找 二分查找

  • 基础排序算法

    快速排序 二分查找 冒泡排序 归并算法 选择排序 插入排序 Shell排序

网友评论

      本文标题:选择排序,冒泡排序,二分查找法

      本文链接:https://www.haomeiwen.com/subject/tocdwxtx.html