学习日志
选择排序算法
import java.util.Scanner;
public class Hello{
public static void main(String [] args) {
System.out.println("启动选择排序!");
System.out.println("请输入数组长度");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
System.out.println("请依次输入数组中的各个数值!");
int []a1=new int [n];
for(int i=0;i<n;i++) {
a1[i]=input.nextInt();
}
int len=a1.length-1;
xuanze(a1,len);
System.out.println("排序结果为:");
for(int i=0;i<n;i++) {
System.out.println(a1[i]);
}
System.out.println("选择排序结束!");
}
//选择排序方法。 传入参数为一个一维数组和数组长度!
public static void xuanze(int [] a,int LEN) {
for(int j=0;j<LEN;j++) {
int max=a[j],idx=j;
for(int i=j;i<=LEN;i++) {
if(a[i]>max) {
max=a[i];
idx=i;
}
}
swap(a,idx,j);
}
}
//交换方法 。 传入参数为一个数组,要交换的位置,和进行到第几次排序!
public static void swap(int a[],int idx,int x) {
int t;
t=a[idx];
a[idx]=a[x];
a[x]=t;
}
}