如何利用實作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解請進]
-
輸入公元n年,輸出"平年" "閏年"
-
C++ py3 C Rust adjacent difference與loop速解Leetcode 1526 Minimum Number of Increments on Subarrays to Form a Target Array [Py3一行解請進]
-
int a[]={21, 23, 57, 13 ,17, 6}; float average; average=?