【題目】
建立乙個關於日期的類,其中包括日期比較的類,並且重寫tostring方法。在main函式中建立乙個find()方法,利用二分查詢的方法找出日期,若有則返回其在陣列中的位置,若不存在則給出提示。
一、tostring方法的重寫
tostring回反應當前物件的自我描述。
在system.out.print()方法中如果插入的是乙個對,就會呼叫物件中的tostring方法。
package testcode123;
class people
}public class testcode
}
輸出為 testcode123.people@6f7a29a1
如果在類中重寫tostring方法
class people
public string tostring()
}
輸出為 我的名字是:小明 所以我們可以通過重寫tostring方法來實現我們想要的輸出。
二、日期的排序(自定義排序的書寫)
在氣泡排序的基礎上,可以在類中建立cmp()方法來實現日期之間的比較。
順序為 年份--》月份--》日期
返回不同的值,來判日期之間的大小。若比當前日期大則返回1,若相同返回0,小則返回-1。
public int cmp(date a)
三、二分查詢
二分查詢建立在乙個有序序列上,每次查詢序列的中間值進行比較,並更新左右位置的數值。
middle = left + ( right - left) / 2
**:
package testcode123;
class date
public int cmp(date a)
public string tostring()
}public class testdatesort
date test1 = new date(2010,6,3);
int l = find(test1,days);
if(l==-1)
system.out.println("未找到當前日期!!!");
else
system.out.println(l); }
public static date bubblesort(date a)
}} return a; }
public static int find(date obj,date cal)
else if(obj.cmp(cal[middle])>0)else
+ " " +right +" "+ middle);
} return -1;
}}
二分查詢排序 JAVA
最壞情況 logn 最好情況 o 1 平均時間複雜度為o logn 二分查詢也稱折半查詢,或者對半查詢 binary search 是一種效率較高的查詢方法。要求 1 必須採用順序儲存結構 2 必須按關鍵字大小有序排列 將n個元素分成大致相等的兩部分,取a n 2 與x做比較,如果x a n 2 則...
java陣列二分查詢法
1.新建halffind類,在main方法中,呼叫二分查詢法。public class halffind 折半查詢對於陣列的是有序數列 system.out.println halfserach a,7 system.out.println halfserach a,2 折半查詢 public st...
二分查詢和排序
二分查詢,主要是針對排序問題進行查詢 len sizeof a sizeof a 0 我們先設定 int left 0 int right len 1 int mid left right 2 如果k大於mid,那麼 left mid 1 小於 right mid 1 include int sea...