栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组排序算法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组排序算法

一,冒泡排序

基本思想:对比相邻元素值,满足条件就进行交换,把较小的移动到前面,较大的移动到数组后面。

具体代码实现:

public class Demo {
    public static void main(String[] args) {
      int[] a = {25, 45, 78, 98, 55};
        for (int i = 1; i < a.length ; i++) {
            for (int j = 0; j < a.length - 1; j++) {
                if (a[j] > a[j + 1]) {
                    int t = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
}
二,直接选择排序

基本思想:将排序元素与其他数组元素分别对比,如果满足条件就交换元素值(不是交换相邻元素,而是把满足条件元素与指定的排序位置元素交换)

具体代码实现:

public class Demo1 {
    public static void main(String[] args) {
        //选择排序 从索引0开始,跟后面挨个比较,最小的出现在前面
        int[] a = {25, 45, 78, 98, 55};
        for (int j = 0; j  
三,直接插入排序 

基本思想:将后面元素插入到有序列表中,使其继续保持有序

具体代码实现:

public class Demo2 {
    public static void main(String[] args) {
        int[] a = {25, 45, 78, 98, 55};
        for (int i = 1; i < a.length; i++) {
            for (int j = i; j >0; j--) {
                if (a[j] 
四,二分查找法 

条件:数组元素必须有序

具体代码:

public class Demo4 {
    public static void main(String[] args) {
        //二分查找  元素必须有序
        int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        System.out.println(Arrays.binarySearch(a, 5));
        Arrays.sort(a);
        int index = mymain(a, 2);
        System.out.println(Arrays.toString(a));
        System.out.println(index);
    }
    private static int mymain(int[] a, int i) {
        int minindex = 0;
        int maxindex = a.length - 1;
        int centerindex = (maxindex + maxindex) / 2;
        while (minindex <= maxindex) {
            if (i == a[centerindex]) {
                return centerindex;
            } else if (i > a[centerindex]) {
                minindex = centerindex + 1;
            } else if (i < a[centerindex]) {
                maxindex = centerindex - 1;
            }
            centerindex = (maxindex + minindex) / 2;
        }
        return -1;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863092.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号