您的位置:首页 > 编程语言 > Java开发

选择排序算法的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]
  • 点赞
  • 收藏
  • 分享
  • 文章举报
sangskf123 发布了2 篇原创文章 · 获赞 0 · 访问量 28 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: