冒泡排序:成绩从低到高排序(JAVA)

时间:2022-12-29 19:52:47

冒泡排序:

JAVA语言提供了List接口,表示元素可以重复的一个广义线性表。

具体实现类:ArrayList,是长度可变的数组。

具体代码如下:

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;
}
}


import java.util.ArrayList;
import java.util.List;

public class studentclass {

	private List<student>stuList;
	private int size;
	
	public studentclass() {
		size=0;
		stuList=null;
	}
     public void createclass() {
    	 String names[]= {"张三","王五","李四","赵六","孙琦"};
    	 double grades[]= {89,90,78,85,73};
    	 int ages[]= {17,20,17,18,19};
    	 size=names.length;
    	 stuList=new ArrayList<student>();
    	 student temp;
    	 for(int i=0;i<size;i++) {
    		 temp=new student(names[i],ages[i],grades[i]);
    		 stuList.add(temp);
    	 }
     }
     public void sort() {
    	 student temp;
    	 for(int i=0;i<size;i++) {
    		 for(int j=1;j<size-i;j++) {
    			 if(stuList.get(j-1).getGrade()>stuList.get(j).getGrade()) {
    				 temp=stuList.get(j-1);
    				 stuList.set(j-1,stuList.get(j));
    				 stuList.set(j, temp);
    			 }
    		 }
    	 }
     }
     public String output() {
    	 StringBuilder studentInfo=new StringBuilder();
    	 for(student stu:stuList) {
    		 studentInfo.append("姓名:"+stu.getName()+"\t成绩:"+stu.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());
	}
}
运行结果


冒泡排序:成绩从低到高排序(JAVA)