题目描述
实现选择排序算法。介绍如下:
选择排序的工作原理是每一次从需要排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排列完毕。
请编写代码,完成选择排序,对给定数据进行升序排列
输入描述
第一行,数字 N (2≤N≤100),表示待排序的元素个数。
第二行,待排序的元素。
输出描述
输出一行,为升序序列。
输入输出样例
示例
输入
6
7 1 4 8 5 2
输出
1 2 4 5 7 8
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int[] b = new int[a];
for(int i = 0; i < a; i++) {
b[i] = scan.nextInt();
}
for(int i = 0; i < b.length -1; i++) {//排序次数
int min = b[i],c;
int minIndex = i;
for(int j = i + 1; j < b.length; j++) {
if(min > b[j]) {
min = b[j];
minIndex = j;
}
}
if(minIndex != i) {
c = b[i];
b[i] = b[minIndex];
b[minIndex] = c;
}
}
for(int d : b) {
System.out.print(d + " ");
}
scan.close();
}
}