氣泡排序:對成績從低到高進行排序(JAVA)
阿新 • • 發佈:2019-02-18
陣列排序:採用物件陣列的方式來儲存學生物件
缺點:人數變動時,程式需要較大修改
原始碼
public class student { private String name; private int age; private double grade; public student(String name,int age,double grade) { this.name=name; this.age=age; this.grade=grade; } public String getName() { return name; } public int getAge() { return age; } public double getGrade() { return grade; } }
public class studentclass { private student[] stus; private int size; public studentclass() { size=0; stus=null; } public void createclass() { String names[]= {"張三","王五","李四","趙六","孫琦"}; double grades[]= {89,90,78,85,73}; int ages[]= {17,20,17,18,19}; size=names.length; stus=new student[size]; for(int i=0;i<size;i++) { stus[i]=new student(names[i],ages[i],grades[i]); } } public void sort() { student temp; for(int i=0;i<size;i++) { for(int j=1;j<size-i;j++) { if(stus[j-1].getGrade()>stus[j].getGrade()) { temp=stus[j-1]; stus[j-1]=stus[j]; stus[j]=temp; } } } } public String output() { StringBuilder studentInfo=new StringBuilder(); for(int i=0;i<size;i++) { studentInfo.append("姓名:"+stus[i].getName()+"\t成績:"+stus[i].getGrade()+"\r\n"); } return studentInfo.toString(); } }
public class test {
public static void main(String[] args) {
studentclass sclass=new studentclass();
sclass.createclass();
System.out.println("原始序列:");
System.out.println(sclass.output());
sclass.sort();
System.out.println("陣列氣泡排序結果:");
System.out.println(sclass.output());
}
}
執行結果