简单选择排序(Java)

简单选择排序:

每一趟在整个记录中找到最小的那个作为有序序列的第i个记录。

class SelectSort{
    public void p(int[] a){
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
    }
    public void select(int[] a){
        int m=a.length;
        for(int i=0;i<m;i++){
            int min=a[i];
            int n=i;
            for(int j=i+1;j<m;j++){
                if(min>a[j]){
                    min=a[j];          //min 保持为最小的一个
                    n=j;
                }
            }
            a[n] = a[i];            //在查找前的i的位置插入被替换的数
            a[i] =min;             //插入本次查找最小的数的位置
            p(a);
        }
    }
    public static void main(String args[]){
        int[] a ={49,38,65,97,76,13,27,49,55,04};
        SelectSort s = new SelectSort();
        s.select(a);
        s.p(a);
    }
}
时间: 2024-10-19 19:38:21

简单选择排序(Java)的相关文章

冒泡排序与简单选择排序——Java实现

1.冒泡排序 1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 2)代码实现: package com.test.sort; public class BubbleSort { public static void sort(int[] data) { for (int i = 0; i < data.length; i++) { for (int j = data.length

Java排序算法(二):简单选择排序

[基本思想] 在要排序的一组数中.选出最小的一个数与第一个位置的数交换:然后在剩下的数中再找出最小的与第二个位置的数交换,如此循环至倒数第二个数和最后一个数比較为止. 算法关键:找到最小的那个数.并用变量记住它的下标. [java实现] public class SimpleSelectionSort { public static void main(String[] args) { int[] arr = { 9, 1, 5, 8, 3, 7, 4, 6, 2 }; System.out.p

排序系列 之 简单选择排序及其改进算法 —— Java实现

简单选择排序算法: 基本思想: 在待排序数据中,选出最小的一个数与第一个位置的数交换:然后在剩下的数中选出最小的数与第二个数交换:依次类推,直至循环到只剩下两个数进行比较为止. 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个数) 1.n=8 个数中,最小数值为1,与第一个数交换:1,3,5,7,2,4,9,6 2.剩下 n-1=7 个数中,最小数值为2,与第二个数交换:1,2,5,7,3,4,9,6 3.剩下 n-2=6 个数中,最小数值为3,与第三个数交换:1,2,3,7,5,4

选择排序—简单选择排序(Simple Selection Sort)原理以及Java实现

基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止. 简单选择排序的示例: 操作方法: 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换: 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换: 以此类推..... 第i 趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与

经典(java版)排序算法的分析及实现之三简单选择排序

选择排序-简单选择排序 选择排序的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子系列的最后,直到全部记录排序完毕.简单选择排序也叫直接选择排序. 基本算法: 将给定待排序序列A[0....n],第一次从A[0]~A[n-1]中选取最小值,与A[0]交换,第二次从A[1]~A[n-1]中选取最小值,与A[1]交换,....,第i次从A[i-1]~A[n-1]中选取最小值,与A[i-1]交换,.....,第n-1次从A[n-2]~A[n-1]中选取最小值,与A[n-2]

java简单选择排序

一.基本概念 每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止. 二.实现思路 从待排序序列中,找到关键字最小的元素: 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换: 从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1).(2)步,直到排序结束. 三.代码实现 public class SelectionSort { public static void selectionSort(int[] list){ //需要遍历获得

排序——直接选择排序(简单选择排序)

直接选择排序也称简单选择排序,是一种相对简单的排序算法,它的基本思想是:从一列数中找出最小的,和第一个交换:剩下的重新找出最小的,和这列数的第二个交换,......一直进行n-1次比较之后,该数列已经为有序数列了. 例如:已知一组无序数列:6 3 5 1 4 2 9 第一次:[6 3 5 1 4 2 9] 最小数为:1 第二次:1 [3 5 6 4 2 9] 最小数为:2 第三次:1 2 [5 6 4 3 9] 最小数为:3 第四次:1 2 3 [6 4 5 9] 最小数为:4 第五次:1 2

经典排序算法--简单选择排序

算法简介 简单选择排序是一种选择排序. 选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止. 白话理解 依然已排队为例,在排队时,有的老师可能会选择这样排序,先在一列中选出最矮的,放在第一位,然后选出第二矮的,放在第二位.队伍完成排序.而这就是选择排序的思想. 简单排序处理流程 (1)从待排序序列中,找到关键字最小的元素: (2)如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换: (3)从余下的 N - 1 个元素中,找出关键字最小

排序算法6--选择排序--简单选择排序

简单选择排序 简单选择排序属于选择排序, 选择排序的思想是:每一趟从待排序的记录中选出关键字最小的记录,按顺序放在以排序的记录序列的后面,知道全部排完为止. 1.简单选择排序法是每次循环找出最值,循环结束后将最值调整到合适位置,交换的次数少. 每次找出当前无序队列中的最小的元素与第一个交换位置,再选择第二小的与第二个交换位置 原始队列:   3 5 6 2 4 1(最小元素1与3交换) 第一步: 1 5 6 2 4 3 (当前最小元素2与5交换) 第二步: 1 2 6 5 4 3 (当前最小元素