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

java簡單選擇排序?qū)嵗?/h1>
 更新時間:2021年08月26日 11:46:17   作者:五歲i  
這篇文章主要為大家詳細介紹了java簡單選擇排序?qū)嵗?,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、基本概念

每趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結(jié)束為止。

二、實現(xiàn)思路

從待排序序列中,找到關(guān)鍵字最小的元素;
如果最小元素不是待排序序列的第一個元素,將其和第一個元素互換;
從余下的 N - 1 個元素中,找出關(guān)鍵字最小的元素,重復(1)、(2)步,直到排序結(jié)束。

三、代碼實現(xiàn)

public class SelectionSort {

 public static void selectionSort(int[] list){
  //需要遍歷獲得最小值的次數(shù)
  if (1>=list.length)return;
  for (int i=0;i<list.length-1;i++){
   int temp=0;
   int index=i;  //選擇當前值為最小值索引
   for (int j=i+1;j<list.length;j++){
    if (list[index]>list[j]){
     index=j; //修改最小值索引
    }
   }
   
   temp=list[index];
   list[index]=list[i];
   list[i]=temp;
  }
 }
 public static void main(String[] args){
  int[] list={4,3,6,5,7,8,2,10,2,9};
  selectionSort(list);
  for (int num:list){
   System.out.print(num+" ");
  }
 }
}

四、時間復雜度

簡單選擇排序的比較次數(shù)與序列的初始排序無關(guān)。 假設(shè)待排序的序列有 N 個元素,則比較次數(shù)總是N (N - 1) / 2。

而移動次數(shù)與序列的初始排序有關(guān)。當序列正序時,移動次數(shù)最少,為 0 。

當序列反序時,移動次數(shù)最多,為3N (N - 1) /  2。

所以,綜合以上,簡單排序的時間復雜度為 O(N2)。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中如何使用?byte?數(shù)組作為?Map?的?key

    Java中如何使用?byte?數(shù)組作為?Map?的?key

    本文將討論在使用HashMap時,當byte數(shù)組作為key時所遇到的問題及其解決方案,介紹使用String和List這兩種數(shù)據(jù)結(jié)構(gòu)作為臨時解決方案的方法,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • Java線程池復用線程的秘密你知道嗎

    Java線程池復用線程的秘密你知道嗎

    這篇文章主要為大家詳細介紹了Java線程池復用線程的秘密,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望您能夠多多關(guān)注

    2022-03-03
  • Java流處理stream使用詳解

    Java流處理stream使用詳解

    Java8的另一大亮點Stream,它與java.io包里的InputStream和OutputStream是完全不同的概念,下面這篇文章主要給大家介紹了關(guān)于Java8中Stream詳細使用方法的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Java中操作數(shù)組的Arrays類

    Java中操作數(shù)組的Arrays類

    大家好,本篇文章主要講的是Java中操作數(shù)組的Arrays類,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Java 自定義線程池和線程總數(shù)控制操作

    Java 自定義線程池和線程總數(shù)控制操作

    這篇文章主要介紹了Java 自定義線程池和線程總數(shù)控制操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java程序連接數(shù)據(jù)庫的常用的類和接口介紹

    Java程序連接數(shù)據(jù)庫的常用的類和接口介紹

    這篇文章主要介紹了Java程序連接數(shù)據(jù)庫的常用的類和接口,包括Connection類和Statement類等,需要的朋友可以參考下
    2015-10-10
  • Java框架之Maven SSM集合

    Java框架之Maven SSM集合

    本篇文章主要介紹了基于maven的ssm框架整合的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • JavaSE實現(xiàn)三子棋游戲

    JavaSE實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了JavaSE實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Eclipse添加xml文件提示及Hibernate配置學習

    Eclipse添加xml文件提示及Hibernate配置學習

    文件提示功能在開發(fā)過程中很實用的,本文實現(xiàn)了一個Eclipse添加xml文件提示,感興趣的朋友可以了解下啊,希望本文對你有所幫助
    2013-01-01
  • struts2實現(xiàn)多文件上傳的示例代碼

    struts2實現(xiàn)多文件上傳的示例代碼

    本篇文章主要介紹了struts2實現(xiàn)多文件上傳的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論