最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

排序算法圖解之Java選擇排序

 更新時間:2022年11月04日 11:37:52   作者:興趣使然黃小黃  
選擇排序的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最?。ù螅┰?,然后放到已排序的序列的末尾。本文通過圖片和示例介紹了選擇排序,需要的可以參考一下

1.選擇排序簡介

選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最?。ù螅┰?,然后放到已排序的序列的末尾。以此類推,直到全部待排序的數(shù)據(jù)元素的個數(shù)為零。選擇排序是不穩(wěn)定的排序方法。

2.圖解選擇排序算法

選擇排序的基本思想如下:

第一次:從arr[0]~arr[n-1]中選取最小值,與arr[0]進(jìn)行交換;

第二次:從arr[1]~arr[n-1]中選取最小值,與arr[1]進(jìn)行交換;

第三次:從arr[2]~arr[n-1]中選取最小值,與arr[2]進(jìn)行交換;

第 i 次:從arr[i]~arr[i-1]中選取最小值,與arr[i]進(jìn)行交換;

總共通過n-1次,可以得到從小到大的有序序列。

以序列:{8, 3, 2, 1, 7, 4, 6, 5} 為例!分步驟圖解如下:

思路說明:

1.在每趟排序時,都假定當(dāng)前位置的元素為最小值,如果在遍歷過程中發(fā)現(xiàn)有比當(dāng)前位置元素還小的值,則替換最小值。(先將最小值記錄,此趟遍歷完成再替換)

2.選擇排序一共有數(shù)組大小-1趟排序。

3.選擇排序代碼實現(xiàn)

import java.util.Arrays;

/**
 * @author 興趣使然黃小黃
 * @version 1.0
 * 選擇排序
 */
public class SelectSort {

    public static void main(String[] args) {
        int[] array = {8, 3, 2, 1, 7, 4, 6, 5};
        System.out.println("排序前: " + Arrays.toString(array));
        selectSort(array);
        System.out.println("排序后: " + Arrays.toString(array));
    }

    //選擇排序
    public static void selectSort(int[] arr){
        //選擇排序過程
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i; //假定最小索引,最小值為第一個元素
            int min = arr[minIndex];
            for (int j = i + 1; j < arr.length; j++) {
                if (min > arr[j]){
                    //更新最小值
                    min = arr[j];
                    minIndex = j;
                }
            }
            //將最小值放進(jìn)arr[i]
            if (i != minIndex){
                arr[minIndex] = arr[i];
                arr[i] = min;
            }
            //輸出每輪排序后的結(jié)果
            System.out.println("第" + (i+1) + "趟: " + Arrays.toString(arr));
        }
    }
}

運行結(jié)果如下:

到此這篇關(guān)于排序算法圖解之Java選擇排序的文章就介紹到這了,更多相關(guān)Java選擇排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解析Arthas協(xié)助排查線上skywalking不可用問題

    解析Arthas協(xié)助排查線上skywalking不可用問題

    這篇文章主要為大家介紹了解析Arthas協(xié)助排查線上skywalking不可用的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • Java獲取一維數(shù)組的最小值實現(xiàn)方法

    Java獲取一維數(shù)組的最小值實現(xiàn)方法

    這篇文章主要介紹了Java獲取一維數(shù)組的最小值實現(xiàn)方法,需要的朋友可以參考下
    2014-02-02
  • Java中的"找不到符號"錯誤解決辦法

    Java中的"找不到符號"錯誤解決辦法

    開發(fā)中遇到一個問題,當(dāng)我用idea開發(fā)工具將新的項目代碼從GitLab上面拉取下來,所有的Maven依賴也導(dǎo)入成功,然后啟動項目,結(jié)果報錯:java:找不到符號,這篇文章主要給大家介紹了關(guān)于Java中"找不到符號"錯誤的解決辦法,需要的朋友可以參考下
    2023-10-10
  • Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    這篇文章主要介紹了Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • ElasticSearch的完整安裝教程

    ElasticSearch的完整安裝教程

    這篇文章主要給大家分享介紹了ElasticSearch的完整安裝教程,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ElasticSearch具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增的使用方法詳解

    SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增的使用方法詳解

    這篇文章主要介紹了SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增(使用方法),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Spring實戰(zhàn)之使用@Resource配置依賴操作示例

    Spring實戰(zhàn)之使用@Resource配置依賴操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之使用@Resource配置依賴操作,結(jié)合實例形式分析了Spring使用@Resource配置依賴具體步驟、實現(xiàn)及測試案例,需要的朋友可以參考下
    2019-12-12
  • springboot如何根據(jù)不同的日志級別顯示不同的顏色

    springboot如何根據(jù)不同的日志級別顯示不同的顏色

    這篇文章主要介紹了springboot如何根據(jù)不同的日志級別顯示不同的顏色問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • springboot集成spark并使用spark-sql的示例詳解

    springboot集成spark并使用spark-sql的示例詳解

    這篇文章主要介紹了spring-boot集成spark并使用spark-sql的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • spring-cloud-gateway動態(tài)路由的實現(xiàn)方法

    spring-cloud-gateway動態(tài)路由的實現(xiàn)方法

    這篇文章主要介紹了spring-cloud-gateway動態(tài)路由的實現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

南宁市| 密山市| 西林县| 社会| 民权县| 田东县| 岳池县| 马关县| 如皋市| 友谊县| 沁源县| 南平市| 永康市| 徐闻县| 通州市| 招远市| 右玉县| 新闻| 襄樊市| 垦利县| 通化县| 介休市| 聂荣县| 肇庆市| 盘山县| 明星| 垦利县| 新巴尔虎左旗| 简阳市| 泗水县| 伊金霍洛旗| 赤城县| 楚雄市| 泗阳县| 疏勒县| 沂源县| 砚山县| 衢州市| 邵阳县| 方山县| 兖州市|