一、选择排序题目
1.题目描述
用选择法对10个整数从小到大排序。
2.输入格式
输入10个无序的数字
3.输出格式
排序好的10个整数
4.样例输入
4 85 3 234 45 345 345 122 30 12
5.样例输出
3
4
12
30
45
85
122
234
345
345
二、选择排序
1.算法思想
(1)从未排序的序列中找到最大(小)的值,存放在序列的初始位置;
(2)再剩余序列中再找到最大(小)的值,存放到已排序的末端;
(3)重复步骤(2),直到所有的数排序完成。
2.算法图解
三、java代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] arr =new int[10];
for(int i=0;i<10;i++){
arr[i] = scanner.nextInt();
}
int j = 0;
int t;
//进行9轮比较
while(j<9){
int min = j; //让最小下标从0开始
for(int i=j+1;i<10;i++){
if(arr[i]<arr[min]) //寻找最小值的下标
min = i;
}
//将找到的最小值与当前的j调换
if(min != j){
t=arr[j];
arr[j]=arr[min];
arr[min]=t;
}
j=j+1;
}
for(int i=0;i<10;i++)
System.out.println(arr[i]);
}
}
欢迎大家批评指正!!!