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

Java排序算法之選擇排序代碼實例

 更新時間:2023年11月14日 09:08:40   作者:哇哈哈水有點甜  
這篇文章主要介紹了Java排序算法之選擇排序代碼實例,從數(shù)組的第一個元素開始,每次遍歷數(shù)組找出一個最小值放在最左側(cè),第二次從第二個元素開始,依次類推,直到起始元素為數(shù)組的倒數(shù)第二個元素時,直接和最后一個元素比較,較小值放左邊,完成排序,需要的朋友可以參考下

Java排序算法之選擇排序代碼實例

排序原理:從數(shù)組的第一個元素開始,每次遍歷數(shù)組找出一個最小值放在最左側(cè),第二次從第二個元素開始,依次類推,直到起始元素為數(shù)組的倒數(shù)第二個元素時,直接和最后一個元素比較,較小值放左邊,完成排序

時間復(fù)雜度:O(N^2) 空間復(fù)雜度:O(1)

在這里插入圖片描述

代碼實現(xiàn)(java):

public static void main(String[] args) {
    int[] arr = {3,5,1,2,4,8,4};
    selectSort(arr);
    for (int i : arr) {
        System.out.println(i);
    }
}


public static void selectSort(int[] arr){
    //外層循環(huán)表示循環(huán)次數(shù),一共需要長度-1次
    for (int i = 0; i < arr.length - 1; i++) {
        //定義一個變量表示本次循環(huán)中最新元素的下標(biāo),初始值為當(dāng)次循環(huán)的第一個元素
        int minIndex =i;
        for (int j = i+1; j < arr.length; j++) {
            //如果有元素的值比下標(biāo)為minIndex的值還小,將這個元素的下標(biāo)賦值給minIndex
            if(arr[j]<arr[minIndex]){
                minIndex=j;
            }
        }
        //如果minIndex被修改過,不再是初始值,交換初始值和minIndex為下標(biāo)的值
        if(minIndex!=i){
            int tmp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex]= tmp;
        }
    }
}

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

相關(guān)文章

  • Mybatis Plus中的流式查詢案例

    Mybatis Plus中的流式查詢案例

    這篇文章主要介紹了Mybatis Plus中的流式查詢案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • JVM類加載之雙親委派機制解讀

    JVM類加載之雙親委派機制解讀

    這篇文章主要介紹了JVM類加載之雙親委派機制解讀,類加載階段分為加載、連接、初始化三個階段,而加載階段需要通過類的全限定名來獲取定義了此類的二進制字節(jié)流,Java特意把這一步抽出來用類加載器來實現(xiàn),需要的朋友可以參考下
    2023-12-12
  • Quartz與Spring集成的兩種方法示例

    Quartz與Spring集成的兩種方法示例

    這篇文章主要為大家介紹了Quartz與Spring集成的兩種方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • 完美解決idea無法搜索下載插件的問題

    完美解決idea無法搜索下載插件的問題

    這篇文章主要介紹了完美解決idea無法搜索下載插件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 淺談多線程中的鎖的幾種用法總結(jié)(必看)

    淺談多線程中的鎖的幾種用法總結(jié)(必看)

    下面小編就為大家?guī)硪黄獪\談多線程中的鎖的幾種用法總結(jié)(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java并發(fā)編程數(shù)據(jù)庫與緩存數(shù)據(jù)一致性方案解析

    Java并發(fā)編程數(shù)據(jù)庫與緩存數(shù)據(jù)一致性方案解析

    這篇文章主要為大家介紹了Java并發(fā)編程中數(shù)據(jù)庫與緩存數(shù)據(jù)一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • SpringBoot3+graalvm:整合并打包為可執(zhí)行文件方式

    SpringBoot3+graalvm:整合并打包為可執(zhí)行文件方式

    本文介紹了如何在Spring Boot 3中整合GraalVM,并將其打包為可執(zhí)行文件,適用于Windows和Linux系統(tǒng),通過安裝GraalVM、配置環(huán)境變量、下載Visual Studio組件(僅限Windows)以及使用Maven容器(適用于Linux),可以實現(xiàn)高效的打包和運行
    2024-12-12
  • Java如何處理數(shù)據(jù)成為樹狀結(jié)構(gòu)

    Java如何處理數(shù)據(jù)成為樹狀結(jié)構(gòu)

    這篇文章主要介紹了Java如何處理數(shù)據(jù)成為樹狀結(jié)構(gòu)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Executor攔截器高級教程QueryInterceptor的規(guī)范

    Executor攔截器高級教程QueryInterceptor的規(guī)范

    今天小編就為大家分享一篇關(guān)于Executor攔截器高級教程QueryInterceptor的規(guī)范,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 關(guān)于feign接口動態(tài)代理源碼解析

    關(guān)于feign接口動態(tài)代理源碼解析

    這篇文章主要介紹了關(guān)于feign接口動態(tài)代理源碼解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論