如何利用實作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
熱門文章
-
教育部為提昇全民資安素養與電腦防護能力,本部於101年9月5日至11月5日舉辦「全民資安素養自我評量」活動,請在活動期間內踴躍上網檢測資訊安全素養認知程度,並有機會參與抽獎,詳情請參閱活動網站(網址: https://isafe.moe.edu.tw/event
-
你會用C的算子sizeof?
-
C 的continue & break [影片]介紹C++程式for迴圈中加上continue與break的差異之簡例 Java迴圈中的的continue & break
-
C++ DP動態規劃解Leetcode 937 Maximum Number of Points with Cost 有些標示medium要比標示hard的問題還要難,Leetcode 1937. Maximum Number of Points with Cost,DP動態規...
-
EULER特徵數定理與UnionFind解Leetcode959 Regions Cut By Slashes EULER特徵數定理:平面連通圖有V-E+F --------------
-
C++ stringstream解分數加減Leetcode 592 Fraction Addition and Subtraction 程式設計分數加減很難嗎?計算容易,但處理字串費事,用stringstream就簡單了
-
C++Floyd Warshall解Leetcode 1334 Find the City With the Smallest Number of Neighbors at a Threshold 由於每對 (i, j) 都有許多最短路徑需要計算,採用 Floyd-Warsh...
-
RSA 演算 Euler 定理搞定#LeetCode 372 Super Pow--C,C++,Python實作。玩過數論、RSA演算的,解這個問題剛好,C++解答打敗94%,還沒有特別優化。