亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java數組常用排序算法實例小結

2024-07-13 10:15:07
字體:
來源:轉載
供稿:網友

本文實例講述了Java數組常用排序算法。分享給大家供大家參考,具體如下:

1、冒泡排序法

SortArray_01.java

public class SortArray_01 {    public static void main(String args[]) {        int[] array = { 14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55, 66, 22 };        // 創建一個初始化的一維數組array        System.out.println("未排序的數組:");        for (int i = 0; i < array.length; i++) {            // 遍歷array數組中的元素            System.out.print(" " + array[i]);            // 輸出數組元素            if ((i + 1) % 5 == 0)                // 每5個元素一行                System.out.println();        }        int mid; // 定義一個中間變量,起到臨時存儲數據的作用        for (int i = 0; i < array.length; i++) {            // 執行冒泡排序法            for (int j = i; j < array.length; j++) {                if (array[j] < array[i]) {                    mid = array[i];                    array[i] = array[j];                    array[j] = mid;                }            }        }        System.out.println("/n使用冒泡法排序后的數組:");        for (int i = 0; i < array.length; i++) {            // 遍歷排好序的array數組中的元素            System.out.print(" " + array[i]);            // 輸出數組元素            if ((i + 1) % 5 == 0)                System.out.println();            // 每5個元素一行        }    }}

運行結果:

未排序的數組: 14 5 86 4 12 3 21 13 11 2 55 66 22使用冒泡法排序后的數組: 2 3 4 5 11 12 13 14 21 22 55 66 86

2、數組遞增排序

SortArray_02.java

import java.util.Arrays;import java.util.Random;public class SortArray_02 {    public static void main(String[] args) {        Random rd = new Random();        int[] array = new int[15];        // 聲明數組        System.out.println("沒有使用sort方法前的數組:");        for (int i = 0; i < array.length; i++) {            // 利用隨機數隨意產生15個0~20之間的隨機數            array[i] = rd.nextInt(20);            // 給array數組賦值            System.out.print(" " + array[i]);            if ((i + 1) % 5 == 0)                System.out.println();        }        Arrays.sort(array);        // 對array數組進行升序排序        System.out.println("/n使用sort方法后的數組:");        for (int i = 0; i < array.length; i++) {            // 將array數組中的數據輸出            System.out.print(" " + array[i]);            if ((i + 1) % 5 == 0)                System.out.println();        }    }}

運行結果:

沒有使用sort方法前的數組: 13 12 11 18 11 11 17 13 11 8 1 0 9 18 3使用sort方法后的數組: 0 1 3 8 9 11 11 11 11 12 13 13 17 18 18

3、快速排序法

SortArray_03.java

public class SortArray_03 {    public static void main(String args[]) {        int[] intArray = { 12, 11, 45, 6, 8, 43, 40, 57, 3, 20, 15, 88, 23 };        System.out.println("排序前的數組:");        for (int i = 0; i < intArray.length; i++) {            System.out.print(" " + intArray[i]);            // 輸出數組元素            if ((i + 1) % 5 == 0)                // 每5個元素一行                System.out.println();        }        System.out.println();        int[] b = quickSort(intArray, 0, intArray.length - 1);        // 調用quickSort        System.out.println("使用快迅排序法后的數組:");        for (int i = 0; i < b.length; i++) {            System.out.print(" " + b[i]);            if ((i + 1) % 5 == 0)                // 每5個元素一行                System.out.println();        }    }    public static int getMiddle(int[] array, int left, int right) {        int temp;        // 進行一趟快速排序,返回中心點位置        int mid = array[left];        // 把中心置于a[0]        while (left < right) {            while (left < right && array[right] >= mid)                right--;            temp = array[right];            // 將比中心點小的數據移動到左邊            array[right] = array[left];            array[left] = temp;            while (left < right && array[left] <= mid)                left++;            temp = array[right];            // 將比中心點大的數據移動到右邊            array[right] = array[left];            array[left] = temp;        }        array[left] = mid;        // 中心移到正確位置        return left; // 返回中心點    }    public static int[] quickSort(int[] array, int left, int right) {// 快速排序法        if (left < right - 1) {            // 如果開始點和結點沒有重疊的時候,也就是指針沒有執行到結尾            int mid = getMiddle(array, left, right);            // 重新獲取中間點            quickSort(array, left, mid - 1);            quickSort(array, mid + 1, right);        }        return array;    }}

運行結果:

排序前的數組: 12 11 45 6 8 43 40 57 3 20 15 88 23使用快迅排序法后的數組: 3 6 8 11 12 20 15 23 40 43 45 88 57

4、選擇排序法

SortArray_04.java

public class SortArray_04 {    public static void main(String args[]) {        int[] array = { 14, 5, 86, 4, 12, 3, 51, 13, 11, 2, 32, 6, 45, 34 };        // 創建一個初始化的一維數組array        int keyValue; // 表示最小的元素值        int index; // 表示最小的元素值的下標        int temp; // 中間變量        System.out.println("未排序的數組:");        for (int i = 0; i < array.length; i++) {            // 遍歷array數組中的元素            System.out.print(" " + array[i]);            // 輸出數組元素            if ((i + 1) % 5 == 0)                // 每5個元素一行                System.out.println();        }        for (int i = 0; i < array.length; i++) {            // 使用選擇排序法的核心            index = i;            keyValue = array[i];            for (int j = i; j < array.length; j++)                if (array[j] < keyValue) {                    index = j;                    keyValue = array[j];                }            temp = array[i];            array[i] = array[index];            array[index] = temp;        }        System.out.println("/n使用選擇排序法后的數組:");        for (int i = 0; i < array.length; i++) {            // 遍歷排好序的array數組中的元素            System.out.print(" " + array[i]);            // 輸出數組元素            if ((i + 1) % 5 == 0)                System.out.println();            // 每5個元素一行        }    }}

運行結果:

未排序的數組: 14 5 86 4 12 3 51 13 11 2 32 6 45 34使用選擇排序法后的數組: 2 3 4 5 6 11 12 13 14 32 34 45 51 86

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美肥老妇视频| 亚洲精品美女网站| 成人做爽爽免费视频| 一区二区三区四区精品| 欧美成人免费播放| 欧美性猛交xxxx| 亚洲第一精品夜夜躁人人爽| 91精品国产综合久久久久久久久| 7m第一福利500精品视频| 国产日韩精品在线| 久久精品在线播放| 亚洲国语精品自产拍在线观看| 国产成人精品国内自产拍免费看| 欧美视频第一页| 久久精品国产亚洲一区二区| 日韩综合视频在线观看| 成人精品视频99在线观看免费| 亚洲第一免费网站| 国内免费久久久久久久久久久| 日韩av一区在线观看| 亚洲欧美制服丝袜| 欧美xxxx做受欧美.88| 亚洲国产精品国自产拍av秋霞| 国产一区二区三区精品久久久| 久久久精品视频在线观看| 日韩精品有码在线观看| 日本成人黄色片| 中文字幕在线亚洲| 欧美激情视频网站| 国产精品一区二区三区免费视频| 91免费人成网站在线观看18| 91精品在线国产| 日韩网站在线观看| 欧美日韩免费在线| 亚洲美女视频网站| 国产精品亚洲第一区| 欧美高清理论片| 欧美日韩在线视频一区| 午夜精品一区二区三区在线视| 亚洲综合成人婷婷小说| 亚洲人a成www在线影院| 亚洲无亚洲人成网站77777| 久久久久久999| 色阁综合伊人av| 97精品国产aⅴ7777| 亚洲精品国产电影| 亚洲欧美精品suv| 久久精品亚洲国产| 成人高h视频在线| 国产精品日韩欧美| 欧美日韩一区二区在线| 九九热精品在线| 亚洲成人动漫在线播放| 欧美最猛性xxxxx免费| 国产精品青草久久久久福利99| 青青久久aⅴ北条麻妃| 亚洲第一色在线| 国产精品丝袜久久久久久高清| 一个人看的www久久| 国产精品91在线观看| 国产精品久久婷婷六月丁香| 在线视频日韩精品| 91国产一区在线| 久久精品久久精品亚洲人| 中文字幕日韩欧美精品在线观看| 亚洲自拍偷拍视频| 午夜精品久久17c| 亚洲精品在线观看www| 欧美性色xo影院| 日韩中文视频免费在线观看| 92福利视频午夜1000合集在线观看| 91久久夜色精品国产网站| 欧洲亚洲女同hd| 欧美在线中文字幕| 91精品久久久久久综合乱菊| 中文字幕av一区二区| 亚洲经典中文字幕| 国产精品极品在线| 精品人伦一区二区三区蜜桃免费| 欧美激情一区二区三区久久久| 国产亚洲欧美日韩美女| 亚洲国产91色在线| 中日韩美女免费视频网站在线观看| 久久人人97超碰精品888| 久久人人爽人人爽爽久久| 亚洲毛茸茸少妇高潮呻吟| 国内精品久久久久影院优| 国产在线高清精品| 久久躁狠狠躁夜夜爽| 亚洲色图狂野欧美| 日韩中文字幕在线视频播放| 国产精品三级久久久久久电影| 久久九九国产精品怡红院| 日韩av在线一区二区| 欧美成人免费小视频| 欧洲s码亚洲m码精品一区| 亚洲深夜福利在线| 欧美三级免费观看| 日韩亚洲精品电影| 色中色综合影院手机版在线观看| 亚洲色在线视频| 日本欧美中文字幕| 亚洲一区二区三| 97香蕉超级碰碰久久免费的优势| 日本欧美一级片| 精品美女永久免费视频| 成人av在线网址| 成人激情视频在线播放| 国产精品久久久久久一区二区| 日韩网站免费观看| 中文字幕成人精品久久不卡| 国产丝袜一区二区三区| 日韩精品免费综合视频在线播放| 成年人精品视频| 亚洲肉体裸体xxxx137| 欧美专区在线观看| 国产精品久久久久久久久免费看| 久久不射热爱视频精品| 国产精品老牛影院在线观看| 中文字幕亚洲综合久久| 日韩欧美在线视频免费观看| 欧美男插女视频| 欧美一区在线直播| 日韩精品欧美国产精品忘忧草| 国产一区二区三区在线观看网站| 视频直播国产精品| 91色在线视频| 国产精品视频久久| 国产精品久久久久久影视| 欧美日韩免费在线观看| 久久久久日韩精品久久久男男| 久久久中文字幕| 国产成人综合一区二区三区| 亚洲视屏在线播放| 亚洲自拍小视频免费观看| 成人午夜在线影院| 亚洲欧美国产va在线影院| 国产精品狼人色视频一区| 97视频在线免费观看| 成人免费福利在线| 欧美裸体xxxx| 91免费看片在线| 亚洲一区二区精品| 亚洲色图综合久久| 中文字幕日韩精品有码视频| 亚洲国产精品系列| 成人做爰www免费看视频网站| 久久亚洲欧美日韩精品专区| 最近2019中文字幕在线高清| 亚洲爱爱爱爱爱| 高清日韩电视剧大全免费播放在线观看| 国产欧美亚洲精品| 亚洲欧美日韩一区二区三区在线| 欧美午夜片欧美片在线观看| 国产精品欧美激情在线播放| 2018国产精品视频| 亚洲自拍高清视频网站| 欧美电影免费观看高清完整| 日韩精品视频在线观看免费| 成人黄色大片在线免费观看| 欧美综合在线观看| 91福利视频网| 欧美午夜宅男影院在线观看| 97视频在线观看免费高清完整版在线观看|