欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之Algorithm_analysis案例詳解

 更新時(shí)間:2021年09月11日 10:50:33   作者:lxj_csdn  
這篇文章主要介紹了Java之Algorithm_analysis案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
/*
冒泡排序:雙層循環(huán)
1.外層循環(huán):控制排序輪數(shù),排序數(shù)組長(zhǎng)度減1(最后一次循環(huán)只剩下一個(gè)元素,不需要比較,同時(shí)數(shù)組已完成排序。
 
2.內(nèi)層循環(huán):比較數(shù)組臨近元素大小,確定是否交換位置,對(duì)比和交換次數(shù)隨排序輪數(shù)而減少。
 */
public class BubbleSort {
    public void sort(int[] array){
        for(int i=1;i<array.length;i++){//控制輪數(shù)
            //比較相鄰兩個(gè)元素,較大的數(shù)往后冒泡
            for(int j=0;j<array.length-i;j++){//控制交換次數(shù)
                if(array[j]>array[j+1]){//第一個(gè)數(shù)大于第二個(gè)數(shù),進(jìn)行交換
                    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);
    }
    /*
    顯示數(shù)組
     */
    public void showArray(int[] array){
        for(int i:array){//遍歷數(shù)組
            System.out.print("  》"+i);
        }
        System.out.println();
    }
    public static void  main(String[] args) {
        //創(chuàng)建一個(gè)數(shù)組,這個(gè)數(shù)組元素是亂序的
        int[] array = {63,4,24,1,3,15};
        System.out.println("數(shù)組長(zhǎng)度:"+array.length);
        System.out.println("=========================");
        //創(chuàng)建冒泡排序類(lèi)對(duì)象
        BubbleSort sorter = new BubbleSort();
        //調(diào)用排序方法將數(shù)組排序
        sorter.sort(array);
    }

顯示結(jié)果

數(shù)組長(zhǎng)度: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

/*直接選擇排序:指定排序位置與其他元素比較。交換次數(shù)減少。*/

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(最大值)上的兩個(gè)數(shù)
            int temp = array[array.length-i];
            array[array.length - i] = array[index];
            array[index] = temp;
        }
        showArray(array);
    }
    /*
    顯示數(shù)組
     */
    public void showArray(int[] array) {
        for (int i : array) {//遍歷數(shù)組
            System.out.print("  》" + i);
        }
        System.out.println();
    }
    public static void main(String[] args) {
        //創(chuàng)建一個(gè)數(shù)組,這個(gè)數(shù)組元素是亂序的
        int[] array = {63, 4, 24, 1, 3, 15};
        System.out.println("數(shù)組長(zhǎng)度:" + array.length);
        System.out.println("=========================");
        //創(chuàng)建冒泡排序類(lèi)對(duì)象
        SelectSort sorter = new SelectSort();
        //調(diào)用排序方法將數(shù)組排序
        sorter.sort(array);
    }
}

運(yùn)行結(jié)果:

數(shù)組長(zhǎng)度:6
=========================
》1  》3  》4  》15  》24  》63

到此這篇關(guān)于Java之Algorithm_analysis案例詳解的文章就介紹到這了,更多相關(guān)Java之Algorithm_analysis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論