如何利用實作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
熱門文章
-
C++用 -1 mask法達到branchless解Leetcode1513 Number of Substrings With Only 1s|Py3 1-liner 其實很容易,想練功,試試一行解,或是把if分岔拿掉 [C++無分岔解請進]
-
請用C/C++ 程式計算 S=1*1+2*2+3*3+4*4+.....+20*20=?
-
計算你上學期加權平均
-
計算你的BMI
-
列印課表數字代碼矩陣,以及代碼的課名 提示: 參考此連結
-
問int怎麼存-689這個數字。 int用4個bytes。 答案請用16進位表達。
-
算上學期加權平均
-
何謂演算法?並列出一無窮迴圈的範例!
-
將費氏數列輸出至一long 陣列 其中f[0]=1, f[1]=2, f[n]=f[n-1]+f[n-2] (n>=2)
-
GCD(123456789,345634567)=?