看一天视频了累了看不下去了,进来逛逛吧。在我所看的书籍当中凡是讲到排序的都是对数组的排序。因为数组大小是一定的所以在日常应用中有些麻烦。我们可以试试用ArrayList类代替的 以下下是我写的一个学生分数类的排序方法供大家消遣 希望对大家有所帮助。//排序方法
public static void sortByScore(List<Student> list){//因为排序不属于莫个成员变量特有的属性所这里用了static 修饰符
Student s=null;
for (int i = 0; i < list.size()-1; i++) {
for (int j = list.size()-1; j >i; j--) {
//如果后面的同学的分数大于前面的则交换两个Stundent 对象的位置 注意是整个成员的而不仅仅是分数交换
if(list.get(j).Score>list.get(j-1).Score){
s=list.get(j);
list.set(j, list.get(j-1));
list.set(j-1, s);
}
}
}
}
//输出结果的函数
public static void printout( ArrayList<Student>list){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).name+" "+list.get(i).Score);
}
}
//main函数
public static void main(String []args){
ArrayList<Student> list =new ArrayList();
Student stu=new Student("张三", 85);
list.add(stu);
Student stu1=new Student();
stu1.setName("李四");
stu1.setCorse(88);list.add(stu1);
Student stu2=new Student();stu2.setName("王五");
stu2.setCorse(68);
list.add(stu2);
Student.sortByScore(list);
Student.printout(list);
}
[ 本帖最后由 兰海忠 于 2011-07-27 02:49 编辑 ] |