當前位置:首頁 » 操作系統 » java的數組查找演算法

java的數組查找演算法

發布時間: 2023-02-11 17:35:20

① 各位大神指點,看看,關於java數組查找演算法問題,輸入大部分都是找不到,有時說找到了,究竟哪裡出錯了

代碼沒問題,不過判斷Boolean的時候寫的不那麼好,if判斷的本來就是一個Boolean,判斷的時候直接if(flag)就是了,不用寫flag==true。

② java數組查找索引問題

使用二進制搜索演算法來搜索指定的 int 型數組,以獲得指定的值。必須在進行此調用之前對數組進行排序(通過上面的 sort 方法)。如果沒有對數組進行排序,則結果是不明確的。如果數組包含多個帶有指定值的元素,則無法保證找到的是哪一個。

③ 求高人指導!用Java實現在一個數組中快速查找中心值數據項的演算法!

很明顯,這是讓你用快速排序演算法來做
快速排序是比冒泡排序等其它演算法更高效的排序方法,你可以網路一下『快速排序』,有詳細介紹和例子,具體原理不再闡述。

④ java二分法查找的遞歸演算法怎麼實現

publicclass二分法遞歸查找{
publicstaticvoidmain(String[]args){

//定義數組,注意,二分查找數組必須是有序的數組!
int[]arr={1,3,5,7,9,11,13,15,17};

//接受查找後的返回值:索引值,如果沒有則是-1;
//測試查找元素:9
inta=binary(arr,9,0,arr.length-1);
System.out.println("被查找數字索引位置在:"+a);
}
//參數列表依次為:被查找的數組,查找的數字,頭索引,尾索引!
publicstaticintbinary(int[]arr,intkey,intstar,intend)//遞歸
{
//每次進來創建,中間索引值!
intmid=(star+end)/2;
//如果被查找數小於頭,或者尾,或者頭索引大於尾索引,則說明無該數,返回-1;
if(key<arr[star]||key>arr[end]||star>end){
return-1;
}
//如果中間值小於被查找數,則重新定義頭索引移至中間+1位置,篩選掉一半數字!
if(arr[mid]<key){
//開始遞歸!
returnbinary(arr,key,mid+1,end);
//否則如果中間值大於被查找數,則重新尾索引移至中間-1位置,篩選掉一半數字!
}elseif(arr[mid]>key){
//開始遞歸!
returnbinary(arr,key,star,mid-1);
}else{
//否者就是找到了,返回該索引!
returnmid;
}
}
}

⑤ java怎麼查找數組的所有方法

不知道你實際是不是指ArrayList這個類,下面列印ArrayList類的所有方法


Method[]methods=ArrayList.class.getMethods();
for(inti=0;i<methods.length;i++){
System.out.print(methods[i].getReturnType());
System.out.print("");
System.out.print(methods[i].getName());
System.out.print("(");
Class<?>[]parameterTypes=methods[i].getParameterTypes();
for(intj=0;j<parameterTypes.length;j++){
System.out.print(parameterTypes[j].getName());
if(j<parameterTypes.length-1){
System.out.print(",");
}
}
System.out.println(")");
}

[Ljava.lang.Object; [L標示數組

⑥ JAVA數組中查找演算法中equals和==的問題

你這里的是字元串的操作,所以:
equals
比較的數值是否相等
==
比較的是不是同一個對象,即是不是在同一塊內存

⑦ java中如何查找數組中某個元素

public static void main(String[] args) {
//定義並初始化數組
int[] arr = {22,33,44,55,66,7,2,5,24};
//定義並初始化Scanner對象,用於獲取輸入鍵盤輸入的內容
Scanner scanner = new Scanner(System.in);
//輸出信息
System.out.print("請輸入需要查找的數字:");
//獲取鍵盤輸入要查找的數字
int target = scanner.nextInt();
//循環數組
for(int i = 0; i < arr.length; i++) {
//如果輸入的數字跟當前數組的元素的值相同
if(target == arr[i]) {
//輸入所在位置,從1開始
System.out.println(target + "位於數字的第" + (i + 1) + "位");
//結束
return;
}
}
//如果找不到的話就提示一下
System.out.println("數組中不存在數字:" + target);
}

熱點內容
vim編譯選項 發布:2025-07-25 23:33:01 瀏覽:964
python教程培訓 發布:2025-07-25 23:23:58 瀏覽:524
編程計算e 發布:2025-07-25 23:23:07 瀏覽:947
資料庫的導出csv 發布:2025-07-25 23:10:19 瀏覽:409
安卓如何設置隨機切換壁紙 發布:2025-07-25 23:04:25 瀏覽:969
微信支付錢包可以設置密碼嗎如何設置 發布:2025-07-25 23:03:30 瀏覽:289
thinkphp的資料庫操作 發布:2025-07-25 22:43:37 瀏覽:981
androidhome環境變數 發布:2025-07-25 22:38:37 瀏覽:126
魚站源碼 發布:2025-07-25 22:37:49 瀏覽:774
sql更新統計信息 發布:2025-07-25 22:23:58 瀏覽:868