冒泡排序之如何根據對象一個屬性排序
阿新 • • 發佈:2018-10-23
name company stat .so bsp pan add pub ner
這個真的非常常用,尤其是做習題的時候,今天算是明白,其實很簡單,但是真是面向對象的概念還沒理解到位,另外,類真的很神奇,可以是數組類型,繼續做題。
package com.company; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import javax.sound.midi.Soundbank; public class Main { //經典冒泡排序 public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int[] num=new int[n]; String[] name=new String[n]; ArrayList<Student> stu=new ArrayList<Student>(); for (int i=0;i<num.length;i++){ name[i]=scanner.next(); num[i]=scanner.nextInt(); }for (int i=0;i<num.length;i++){ Student s=new Student(name[i],num[i]); stu.add(s); } Student[] st=new Student[num.length];//類作為數組使用 stu.toArray(st); sort(st,n); } //從小到大排序 public static void sort(Student[] st,int n){int i,j,k; Student temp; for (i=n-1;i>0;i--){ for (j=0;j<i;j++){ if (st[j].score>st[j+1].score){ temp=st[j]; st[j]=st[j+1]; st[j+1]=temp; } } } for (i=0;i<st.length;i++){ System.out.print(st[i].name+" "); } } public static class Student{ String name; int score; public Student(){} public Student(String name,int score){ this.name=name; this.score=score; } } }
冒泡排序之如何根據對象一個屬性排序