1. 程式人生 > >簡單選擇排序_java實現

簡單選擇排序_java實現

思路分析
每一次選出最小的一個數

    //簡單選擇排序
    public void simpleSelectionSort(int[] a) {
        int i, j, len;
        int p=1;//記錄第n次的排序
        int min;//將當前的i暫定為是最小的數的位置
        int tmp;//用於交換
        len = a.length;
        for (i = 0; i < len; i++) {
            min= i;
            for (j = i + 1; j < len; j++) {
                if (a[min] > a[j]) {
                    min = j;//把較小的數放到前面,但是目前仍未進行交換,因為還沒有找出最小的那個數
                }
            }
            tmp = a[min];
            a[min] = a[i];
            a[i] = tmp;

            //輸出每一次的排序結果
            System.out.print("第"+(p++)+"次 ");
            for (int k = 0; k <len ; k++) {
                System.out.print(a[k]+" ");
            }
            System.out.println();

        }

    }

測試
在這裡插入圖片描述

相關推薦

簡單選擇排序_java實現

思路分析 每一次選出最小的一個數 //簡單選擇排序 public void simpleSelectionSort(int[] a) { int i, j, len; int p=1;//記錄第n次的排序

簡單選擇排序 java實現

簡單選擇排序 基本思想:在要排序的一組數中,選出最小的一個數與第一個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後一個數比較為止。 程式碼實現如下 public class SimpleSelectSort { publi

排序演算法2——圖解簡單選擇排序及其實現

排序演算法1——圖解氣泡排序及其實現(三種方法,基於模板及函式指標) 排序演算法2——圖解簡單選擇排序及其實現 排序演算法3——圖解直接插入排序以及折半(二分)插入排序及其實現 排序演算法4——圖解希爾排序及其實現 排序演算法5——圖解堆排序及其實現 排序演算法6——圖解歸併排序及其遞迴與非

簡單選擇排序(Java實現)

基本概念:在要排序的一組數中,選出最小的一個數與第1個位置的數交換;然後在剩下的數當中再找最小的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後一個數)比較為止。簡單

簡單選擇排序 Python實現

def SimpleSelectSort(arr): for i in range(len(arr)-1): min=i for j in range(i

簡單選擇排序演算法原理及java實現(超詳細)

選擇排序是一種非常簡單的排序演算法,就是在序列中依次選擇最大(或者最小)的數,並將其放到待排序的數列的起始位置。 簡單選擇排序的原理 簡單選擇排序的原理非常簡單,即在待排序的數列中尋找最大(或者最小)的一個數,與第 1 個元素進行交換,接著在剩餘的待排序的數列中繼續找最大(最小)的一個數,與第 2 個元素交

資料結構和演算法 | 簡單選擇排序演算法原理及實現

選擇排序是一種非常簡單的排序演算法,就是在序列中依次選擇最大(或者最小)的數,並將其放到待排序的數列的起始位置。 簡單選擇排序的原理 簡單選擇排序的原理非常簡單,即在待排序的數列中尋找最大(或者最小)的一個數,與第 1 個元素進行交換,接著在剩餘的待排序的數列

簡單選擇排序演算法JAVA實現

簡單選擇排序的過程為:第1次,從n個記錄中找出關鍵碼最小的記錄與第1個記錄交換,第2次,,從第2個記錄開始的n-1個記錄中再選出關鍵碼最小的記錄與第2個記錄交換;如此,第i次,則從第i個記錄開始的n-i+1個記錄中選出關鍵碼最小的記錄與第i個記錄交換,直到整個序列按關鍵碼有序。 例:3,1,4,

c++實現簡單選擇排序和堆排序

接下來我們對簡單選擇排序和堆排序做詳細額介紹,排序過程中使用的資料仍和前兩節排序過程中使用的資料相同:int a[10] = {45,12,36,76,45,9,33,19,87,23}; 1、簡單選

簡單選擇排序,C語言實現

簡單選擇排序和堆排序   都是內部排序中的選擇排序。首先我們先介紹選擇排序法的基本思想:我們想象一個炒股票的人,他只會在時機非常明確到來的時候才出手,也就是當排序的時候,找到合適的關鍵字再交換,並且只移動一次。簡單選擇排序的基本思想:每一趟都是在(n-i+1),(i=1,2,

C語言實現氣泡排序簡單選擇排序

氣泡排序(Bubble Sort)的基本思想為兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序記錄為止。 其時間複雜度為O(n^2)。 簡單選擇排序(Simple Selection Sort)

C語言簡單選擇排序演算法的實現

簡單選擇排序從元素中跳出最小關鍵字,將其放在已排序列的最後,未排序的序列最前,直到全部排序完成為止,其空間複雜度為O(1),時間複雜度為O(n2)。下面是實現程式碼: 首先仍然是預定義和型別定義: #define OK 1 #define ERROR 0 typedef

用Java實現簡單選擇排序

package ch10; /** * 簡單選擇排序 * @author songjie * */ public class SelectSort { public static <T extends Comparable> boolean sele

資料結構 簡單選擇排序(C語言實現

       選擇排序的基本思想:每一趟在n-i+1(i=1,2,3,…,n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。 演算法思想       第一趟簡單選擇排序時,從第一個記錄開始,通過n-1 次關鍵字比較,從n 個記錄中選出關鍵字最小的記錄,並和第

資料結構 排序(氣泡排序改進,簡單選擇排序連結串列實現

實驗題目:     排序演算法實現與比較             實驗環境:    Visual C++ 6.0                     實驗八: 實驗目的和要求:熟悉多種排序演算法,理解每種排序演算法思想,掌握排序演算法的基本設計方法,掌握排序演算法

經典排序算法--簡單選擇排序

減少 pac 高效 str creat election pub 臨時 ack 算法簡介 簡單選擇排序是一種選擇排序。 選擇排序:每趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結束為止。 白話理解   依然已排隊為例,在排隊時,有的老師

排序——直接選擇排序簡單選擇排序

無序 代碼 .... 插入排序 相對 方法 import 排序 color 直接選擇排序也稱簡單選擇排序,是一種相對簡單的排序算法,它的基本思想是:從一列數中找出最小的,和第一個交換;剩下的重新找出最小的,和這列數的第二個交換,......一直進行n-1次比較之後,該數列已

選擇排序——C實現

return 最大 n-1 spa 工作 cnblogs ret clu 輸出 選擇排序:   選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩余未排序元素中繼續

算法一之簡單選擇排序

!= 復雜度 cnblogs 數據 lec 空間 class 相同 i++ 一、 選擇排序的思想 選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。基於此思想的算法主要有簡單選擇排序、樹型選擇

排序算法之簡單選擇排序

clip order ng- left 運行 [] cal var ret 基本思想 在一組元素中選擇具有最小排序碼的元素,若它不是這組元素中的第一個元素,則將它與這組元素中的第一個元素對調;在未排序的剩下的元素中反復運行以上步驟,直到剩余元素僅僅有一