**选择排序 SelectSort 文章内含源码**

简介: **选择排序 SelectSort 文章内含源码**

选择排序:在一串数组中找到一个最小值直接放到第一位(索引为0的位置)

package cn.Text;
public class SelectionSort {
    public static void SelectSort(int[] arr) {
        //先写边界条件
        if (arr==null || arr.length<2){
            return;
        }
        //0~n-1   1~n-1  2~n-1 ...
        for (int i = 0; i < arr.length; i++) {
            //i~n-1
            int MINValueIndex=i;
            for (int j = i+1; j < arr.length; j++) {
                MINValueIndex=arr[j]<arr[MINValueIndex]?j:MINValueIndex;
            }
            Swap(arr,i,MINValueIndex);
        }
    }
    public static void Swap(int [] arr ,int i,int j){
        int tmp=arr[j];
        arr[j]=arr[i];
        arr[i]=tmp;
    }
    public static void PrintArray(int [] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        int[] arr={5,9,13,22,4,56,3};
        PrintArray(arr);
        SelectSort(arr);
        PrintArray(arr);
    }
}

image.png

目录
相关文章
|
6月前
|
搜索推荐 算法 C#
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
115 1
|
1月前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
17 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
搜索推荐 算法 测试技术
八大排序超详解(动图+源码)
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
|
6月前
|
搜索推荐 算法
常见排序算法以及冒泡排序的基础使用方法
常见排序算法以及冒泡排序的基础使用方法
43 0
|
算法
冒泡排序(附图详解)
冒泡排序(附图详解)
101 0
冒泡排序(简练版)(一看就懂)(对比选择排序)
冒泡排序(简练版)(一看就懂)(对比选择排序)
|
算法 搜索推荐 C语言
冒泡排序终极版(模拟qsort)
冒泡排序终极版(模拟qsort)
数据结构之排序【冒泡排序和快速排序之一的实现及分析】内含动态演示图
数据结构之排序【冒泡排序和快速排序之一的实现及分析】内含动态演示图
|
算法 搜索推荐 JavaScript
【HDU 1425】 一个案例明白冒泡排序和快速排序
【HDU 1425】 一个案例明白冒泡排序和快速排序
113 0
|
存储 算法
数据结构之排序【直接选择排序和堆排序的实现及分析】内含动态演示图
引言: 1.直接选择排序 2.堆排序 3.直接选择排序和堆排序的测试