成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

排序之簡單選擇排序

開發 后端
本篇博客是在伍迷兄的博客基礎上進行的,其博客地址點擊就可以進去,里面好博客很多,我的排序算法都來自于此;一些數據結構方面的概念我就不多闡述了,伍迷兄的博客中都有詳細講解,而我寫這些博客只是記錄自己學習過程,加入了一些自己的理解,同時也希望給別人提供幫助。

前言

  本篇博客是在伍迷兄的博客基礎上進行的,其博客地址點擊就可以進去,里面好博客很多,我的排序算法都來自于此;一些數據結構方面的概念我就不多闡述了,伍迷兄的博客中都有詳細講解,而我寫這些博客只是記錄自己學習過程,加入了一些自己的理解,同時也希望給別人提供幫助。

基本思想

  選擇排序的基本思想是每一趟在n-i+1(i=1,2,…,n-1)個記錄中選取關鍵字最小的記錄作為有序序列的第i個記錄。我們這里先介紹的是簡單選擇排序法。簡單選擇排序法(Simple Selection Sort)就是通過n-i次關鍵字間的比較,從n-i+1個記錄中選出關鍵字最小的記錄,并和第i(1≤i≤n)個記錄交換之,就是說一剛開始,從序列arr[0...n-1]選出最小的元素與第1個記錄即arr[0]交換,再從arr[1...n-1]中選出最小的與arr[1]進行交換,arr[2...n-1]中最小的與arr[2]進行交換,以此類推,直至整個序列有序。

代碼實現

  /**
     * 簡單選擇排序
     * @param arr
     */
    public static void simpleSelectSort(int[] arr){
        int len = arr.length;
        int index;                                // 記錄arr[i...len-1]最小元素的下標
        for(int i=0; i<len; i++){
            index = i;
            for(int j=i+1; j<len; j++){            // 尋找arr[j...len-1]中最小元素
                if(arr[index] > arr[j]){
                    index = j;
                }
            }
            swap(arr,i,index);                    // 交換arr[i]和arr[index]
        }
    }

 

 

執行過程模擬

  上面的代碼應該是很容易理解的,不過我們還是來模擬一下計算機執行的過程。

  1)一開始,初始序列是{5,3,7,9,1,6,4,8,2},i=0,index=i=0,j=i+1=1,初始時,狀態如下

  2)i=0時

  3)i=1時,同理,交換如下

  4)i=2,3,4,5,6,7,8時,如下

  至此,整個序列已經從小到大有序了;當然,從上面的模擬過程可以看出來,算法是可以些許改善的,改善的事就交給各位看官了,就當是拓展!

總結

  簡單排序算法還是比較簡單的,沒什么難點,希望大家能夠在我提供的代碼實現上進行些許優化,比如當i=index時,不需要優化,等等!

責任編輯:李英杰 來源: 博客園
相關推薦

2023-09-26 22:22:30

選擇排序Python

2019-10-30 08:53:46

JavaScript冒泡排序選擇排序

2009-08-11 09:19:52

C#選擇排序C#算法

2022-11-21 07:58:10

Java排序冒泡排序

2011-04-11 14:52:18

選擇排序排序C++

2011-04-20 13:56:08

選擇排序

2023-03-06 08:10:52

數據結構算法數據

2021-01-19 07:02:26

算法數據結構堆排序

2020-03-27 09:06:54

選擇排序算法冒泡排序

2023-10-04 18:23:02

插入排序算法

2021-01-21 05:22:36

排序算法選擇

2009-08-10 16:19:37

C#冒泡排序

2013-06-20 11:21:58

iOS開發UITableView

2021-04-15 09:36:44

Java數據結構算法

2009-06-05 10:24:37

C#排序排序

2022-07-27 09:00:26

前端拖拽排序庫

2009-07-02 10:03:02

DataView排序

2011-04-20 11:22:51

Java

2023-10-05 09:01:05

插入排序對象序列log2i

2021-06-09 09:06:52

Go語言算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国产一区二区三区四区 | 高清人人天天夜夜曰狠狠狠狠 | 91麻豆精品一区二区三区 | 成人伊人 | 中文字幕欧美一区二区 | 国产传媒视频在线观看 | 亚洲欧美中文字幕在线观看 | 日韩精品视频中文字幕 | 亚洲欧美激情精品一区二区 | 欧美 日韩 国产 成人 在线 | 天天久久 | 精品成人| 精品视频一区二区在线观看 | 一区二区三区不卡视频 | 国产日韩一区二区三区 | 国产91丝袜在线18 | 欧美福利一区 | 久久国产日本 | 国产视频欧美 | 国产日韩欧美在线一区 | 国产aⅴ | а天堂中文最新一区二区三区 | 免费观看一级毛片视频 | 欧美一区2区三区4区公司 | 国产精品日韩欧美一区二区三区 | 国产一区二区在线免费视频 | www.精品国产| 色婷婷综合久久久中字幕精品久久 | 精品久久国产老人久久综合 | 色婷婷在线视频 | 91精品国产91久久综合桃花 | 久久成人在线视频 | 不卡一区 | 中文字幕一区二区三区四区五区 | 久久久久久久久国产成人免费 | 亚洲午夜精品一区二区三区他趣 | 久久一区二区免费视频 | 亚洲激情在线 | 色香婷婷 | 亚洲 欧美 另类 综合 偷拍 | 亚洲国产一区二区在线 |