risc-v中文社区

 找回密码
 立即注册
查看: 1440|回复: 0

[原创] 选择排序

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-10-28 08:45:09 | 显示全部楼层 |阅读模式
1、选择排序简要概述
  它的基本思想是:第一次从arr[0]到arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]到arr[n-1]中选取最小值,与arr[i-1]交换,…,第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,
  总共通过n-1次,得到一个按排序码从小到大排列的有序序列。

 2、选择排序图解

 3、代码实现
public class test{
    public static void main(String[] args) {
        int array[] = new int[]{5,-1,-8,10,30,20};
        System.out.print("选择排序前:");
        for (int i = 0; i < array.length; i++) {
            System.out.print(array + " ");
        }
        selectSort(array);
        System.out.println();
        System.out.print("选择排序后:");
        for (int i = 0; i < array.length; i++) {
            System.out.print(array + " ");
        }
    }

    public static void selectSort(int a[]) {
        int temp = 0;
        for (int i = 0; i < a.length - 1; i++) {
            int minIndex = i;
            int min = a[minIndex];
            for (int j = i + 1; j < a.length; j++) {
                if (min > a[j]) {
                    min = a[j];
                    minIndex = j;
                }
            }
            if (minIndex != i) {
                a[minIndex] = a;
                a = min;
            }
        }
    }
}
————————————————
版权声明:本文为CSDN博主「楠哥学IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ITCSDN_/article/details/108287297
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-5-3 14:53 , Processed in 0.016116 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表