public static void main(String[] args) {
//一维数组的选择排序
int[] arr=new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i]=(int)(Math.random()*100);
System.out.print( arr[i]+" ");
}
//选择排序的基本算法
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[i]>arr[j]){
int tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
System.out.println();
for (int i : arr) {
System.out.print( i+" ");
}
System.out.println();
//对象数组的选择排序
String[] name1 = {"张", "李", "王", "刘", "杨", "赵", "孙", "周", "罗","曾","安","上","柴","宫","伍","楚","魏"};
String[] name2 = {"伟", "刚", "丽", "琳", "芳", "娜", "强", "阳", "龙", "宁", "哲", "凯", "美","港","坡","亮"};
Student[] stuArr = new Student[15];
//赋值操作
for (int i = 0; i < stuArr.length; i++) {
int id=i+1;
String name=name1[(int)(Math.random()*name1.length)]+name2[(int)(Math.random()*name2.length)];
int grade=(int)(1+Math.random()*(6));
double score=(int)(0+Math.random()*101);
stuArr[i]=new Student(id,name,grade,score);
}
//遍历
for (Student tmp:stuArr){
System.out.println("tmp = " + tmp.say());
}
System.out.println(" ----------------------------------" );
for (int i = 0; i < stuArr.length-1; i++) {
for (int j = i+1; j <stuArr.length ; j++) {
if (stuArr[i].getScore()>stuArr[j].getScore()){
Student tmp=stuArr[j];
stuArr[j]=stuArr[i];
stuArr[i]=tmp;
}
}
}
System.out.println("---------------------------------- " );
for (Student student : stuArr) {
System.out.println("student = " + student.say());
}
}
Java中得一些基本程序, 排序算法之【选择排序】
于 2023-03-28 19:52:38 首次发布