Java例項13 用哨兵查詢特定值

2021-05-26 10:21:04 字數 695 閱讀 9032

/**

* 超找的目的,是在查詢指定的資料,直接運用迴圈,順序查詢看是否能找到

* 一般情況我們都會迴圈判斷是否結束,然後比較期望值。

* 其實可以利用哨兵減少一次比較

* */

package al;

public class loopsearch ;

loopsearch loopsearch = new loopsearch();

int result = loopsearch.search(number, 12);

system.out.println("find at position "+result); }

/*** 可以利用設定哨兵的方式,省去一次判斷,

* 哨兵通常設定在數列最前或者最後,假設設定在列前方好了(索引0的 位置),

* 我們從數列後面開始查詢,如果找到指定的值時,其索引值不是0,

* 表示在數列迴圈完之前就找到了,coding的時候只要使用乙個while迴圈就可 以了。

*/public int search(int number , int dest)

tmp[0] = dest;

int j = number.length;

while(tmp[j] != tmp[0])

return j-1;

}}

Java語言基礎13 例項方法

例項方法 page 13 of 37 到目前為止,我們所設計的方法的型別都屬於例項方法,因為要通過類的例項來才能呼叫它們。正是這個原因,只要沒有同名衝突,乙個例項方法就可以無需使用 this 限定符而直接引用例項變數,例如 void bark 在這個例子中,不帶引數的 bark 方法直接引用了例項變...

用LINQ在集合中查詢特定物件

這裡是原文出處 簡單的概括linq linq是language integrated query的縮寫,是c 3.0和vb 9.0中新加入的語言特性,可以在程式設計時使用內建的查詢語言進行基於集合的操作。listuserlist getuserlist var userwithoddid from ...

當查詢主鍵返回特定行的時候,用like還是等號

今天發現乙個問題,以前從沒有注意過的。就是當查詢條件是id 某值的時候,用等號,不用like。因為等號速度非常之快,只有0.001s,而like則要執行0.123秒甚至更久。其中等號的時候,掃瞄了一行,用like,掃瞄了58萬行之多,等於整表掃瞄了。同樣,在有索引的非主鍵列上,用等號和用like對特...