如何利用實作Interface Comparator來sort, binaySearch
import java.util.*;
import java.util.Arrays;
class student
{
    String name;
    int number;
    student(String name, int number)
    {
         this.name=name;
         this.number=number;
     }
    void printData()
   {
        System.out.print(name+'\t');
        System.out.println(number);
    }
 }
 class studentComparator implements Comparator<student> {
     public int compare(student X1, student X2)
   {
       return X1.number-X2.number;
    }
}
class SortStudent{
    public static void main(String argv[]){
    student X[]=new student[10];
    for (int i=0; i<=9; i++)
   {
      X[i]=new student("學生"+i, (int)(100*Math.random()));
      X[i].printData();
   }
  studentComparator C=new studentComparator();
  Arrays.sort(X, C);
  System.out.println("排序後");
  for (int i=0; i<=9; i++)
  {
   X[i].printData();
   }
  student key=new student("學生"+0,50);
  System.out.println(Arrays.binarySearch(X,key,C));
 }
}
//http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html
//http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html
herrDeng網內搜尋
 
  
    自訂搜尋
  
Ads
熱門文章
- 
url="https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=20220330&stockNo=2330"
- 
連續複利
- 
請用Random產生20個0~99的奇數(可重複),然後排序
- 
py3 cpp Line sweep解Leetcode 3346 Maximum Frequency of an Element After Performing Operations I 使用 line sweep不用排序,可得線性解 [Py3解請進]
- 
C++ Py3 計數排序與partial sum解Leetcode 2300 Successful Pairs of Spells and Potions Portions的極大值小於等於10萬是可進行記數排序的關鍵,既然可以採用記數排序,後面的二元搜尋也可以透過part...
- 
Py3 C++ C 2pointer速解Leetcode 11Container With Most Water [Py3 code請進]
- 
輸入公元n年,輸出"平年" "閏年"
- 
Py3 C++計數bitmask與2 pointers速解Leetcode2273 Find Resultant Array After Removing Anagrams 字串長度最長也只有10,四個bits一組,用bitmask解題 ----- The maximum le...
 
 
