纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Java之Algorithm_analysis Java之Algorithm_analysis案例详解

lxj_csdn   2021-09-11 我要评论
想了解Java之Algorithm_analysis案例详解的相关内容吗lxj_csdn在本文为您仔细讲解Java之Algorithm_analysis的相关知识和一些Code实例欢迎阅读和指正我们先划重点:java之Algorithm_analysis详解,java之Algorithm_analysis下面大家一起来学习吧
/*
冒泡排序:双层循环
1.外层循环:控制排序轮数排序数组长度减1(最后一次循环只剩下一个元素不需要比较同时数组已完成排序
 
2.内层循环:比较数组临近元素大小确定是否交换位置对比和交换次数随排序轮数而减少
 */
public class BubbleSort {
    public void sort(int[] array){
        for(int i=1;i<array.length;i++){//控制轮数
            //比较相邻两个元素较大的数往后冒泡
            for(int j=0;j<array.length-i;j++){//控制交换次数
                if(array[j]>array[j+1]){//第一个数大于第二个数进行交换
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                    System.out.println("第-------"+j+"-------次");
                }
                System.out.println("第"+i+"轮");
                showArray(array);
            }
        }
        showArray(array);
    }
    /*
    显示数组
     */
    public void showArray(int[] array){
        for(int i:array){//遍历数组
            System.out.print("  》"+i);
        }
        System.out.println();
    }
    public static void  main(String[] args) {
        //创建一个数组这个数组元素是乱序的
        int[] array = {63,4,24,1,3,15};
        System.out.println("数组长度:"+array.length);
        System.out.println("=========================");
        //创建冒泡排序类对象
        BubbleSort sorter = new BubbleSort();
        //调用排序方法将数组排序
        sorter.sort(array);
    }

显示结果

数组长度:6
=========================
第-------0-------次
第1轮
》4  》63  》24  》1  》3  》15
第-------1-------次
第1轮
》4  》24  》63  》1  》3  》15
第-------2-------次
第1轮
》4  》24  》1  》63  》3  》15
第-------3-------次
第1轮
》4  》24  》1  》3  》63  》15
第-------4-------次
第1轮
》4  》24  》1  》3  》15  》63
第2轮
》4  》24  》1  》3  》15  》63
第-------1-------次
第2轮
》4  》1  》24  》3  》15  》63
第-------2-------次
第2轮
》4  》1  》3  》24  》15  》63
第-------3-------次
第2轮
》4  》1  》3  》15  》24  》63
第-------0-------次
第3轮
》1  》4  》3  》15  》24  》63
第-------1-------次
第3轮
》1  》3  》4  》15  》24  》63
第3轮
》1  》3  》4  》15  》24  》63
第4轮
》1  》3  》4  》15  》24  》63
第4轮
》1  》3  》4  》15  》24  》63
第5轮
》1  》3  》4  》15  》24  》63
》1  》3  》4  》15  》24  》63

/*直接选择排序:指定排序位置与其他元素比较交换次数减少*/

public class SelectSort {
    public void sort(int[] array) {
        int index;
        for (int i = 1; i < array.length; i++) {
            index = 0;
            for (int j = 1; j <= array.length - i; j++)
                if (array[j] > array[index]) {
                    index = j;
                }
            //交换位置array.length-i和index(最大值)上的两个数
            int temp = array[array.length-i];
            array[array.length - i] = array[index];
            array[index] = temp;
        }
        showArray(array);
    }
    /*
    显示数组
     */
    public void showArray(int[] array) {
        for (int i : array) {//遍历数组
            System.out.print("  》" + i);
        }
        System.out.println();
    }
    public static void main(String[] args) {
        //创建一个数组这个数组元素是乱序的
        int[] array = {63, 4, 24, 1, 3, 15};
        System.out.println("数组长度:" + array.length);
        System.out.println("=========================");
        //创建冒泡排序类对象
        SelectSort sorter = new SelectSort();
        //调用排序方法将数组排序
        sorter.sort(array);
    }
}

运行结果:

数组长度:6
=========================
》1  》3  》4  》15  》24  》63


相关文章

猜您喜欢

网友评论

Copyright 2020 www.sopisoft.net 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式