选择排序算法的Java实现
2020-02-17 12:12
399 查看
八大排序算法
选择排序算法
package com.test.algorithm; import java.util.Arrays; /** * @author : sangskf * @package : com.test.algorithm.SelectSort * @date : 2019/5/28 12:30 * @description : 选择排序 */ public class SelectSort { public static void main(String[] args) { int[] array = new int[]{5, 2, 8, 4, 22, 31, 0, 1, 9}; System.out.println("排序前:"); System.out.println(Arrays.toString(array)); System.out.println("----------------------------------"); System.out.println("排序中:"); selectSort(array); System.out.println("----------------------------------"); System.out.println("排序后:"); System.out.println(Arrays.toString(array)); } public static void selectSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { for (int j = i; j < array.length; j++) { if (array[i] > array[j]) { swap(array, i, j); } } } } //交换元素的位置 public static void swap(int[] array, int left, int right) { int temp = array[left]; array[left] = array[right]; array[right] = temp; System.out.println(Arrays.toString(array)); } }
运行结果
排序前: [5, 2, 8, 4, 22, 31, 0, 1, 9] ---------------------------------- 排序中: [2, 5, 8, 4, 22, 31, 0, 1, 9] [0, 5, 8, 4, 22, 31, 2, 1, 9] [0, 4, 8, 5, 22, 31, 2, 1, 9] [0, 2, 8, 5, 22, 31, 4, 1, 9] [0, 1, 8, 5, 22, 31, 4, 2, 9] [0, 1, 5, 8, 22, 31, 4, 2, 9] [0, 1, 4, 8, 22, 31, 5, 2, 9] [0, 1, 2, 8, 22, 31, 5, 4, 9] [0, 1, 2, 5, 22, 31, 8, 4, 9] [0, 1, 2, 4, 22, 31, 8, 5, 9] [0, 1, 2, 4, 8, 31, 22, 5, 9] [0, 1, 2, 4, 5, 31, 22, 8, 9] [0, 1, 2, 4, 5, 22, 31, 8, 9] [0, 1, 2, 4, 5, 8, 31, 22, 9] [0, 1, 2, 4, 5, 8, 22, 31, 9] [0, 1, 2, 4, 5, 8, 9, 31, 22] [0, 1, 2, 4, 5, 8, 9, 22, 31] ---------------------------------- 排序后: [0, 1, 2, 4, 5, 8, 9, 22, 31]
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- MyEclipse Ant build.xml
- 2019-01-31初次使用springboot
- spring boot 多数据源
- java开发环境
- 在win7系统的myeclipse9.0下安装SVN插件
- springboot微信公众号自定义菜单创建及响应
- SecureCRT上传下载文件并运行java项目
- 初识JAVA
- 文件上传java ftpClient上传文件时总是卡在storeFile方法
- spring mvc 请求转发和重定向
- 基于注解的Spring AOP的配置和使用
- Spring任务调度器之Task的使用
- SpringMVC中定时器继承Task后无法对service注入问题
- Spring 4.x Task 和 Schedule 概述(代java配置)
- Json与javaBean之间的转换工具类
- 微信公众号的SpringBoot+Quartz的定时任务Demo
- springboot 学习资源推荐
- Java UDP Socket编程
- Spring Boot学习一之配置类及自动配置
- Spring中Configuration的理解