1. 程式人生 > >冒泡排序之如何根據對象一個屬性排序

冒泡排序之如何根據對象一個屬性排序

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

冒泡排序之如何根據對象一個屬性排序