導航:首頁 > 源碼編譯 > java數組查找演算法

java數組查找演算法

發布時間:2023-06-08 11:35:29

java在數組里查找數據

在你查找的輸入數字那段程序中,你看下,直接就是查找到一個然後程序就跳出來了,此時最好的方法是在程序前面定義一個數組,因為你不確定有多少個你要查找的數,該數組用來存儲對應查找的數位置,
你再查詢那段程序改下,讓其不要查找到一個就跳出,而是用一直查找到數組最後,程序我不給你寫了,你先自己試試看看,不行的話,再幫你,畢竟自己實踐是最好的!

㈡ Java用查找演算法的一段代碼如下: 其中boolean A=false; if(name.equals(arr[i])) 麻煩解釋一下 盡量直白

數組從第一個開始比較,完全相同(當前數組值和輸入值一模一樣)A就賦值為true;不一樣A的值不變

㈢ 請用JAVA演算法編寫,隨機生成1-100以內數組,找出最大值和最小值!

//隨機數的個數自己輸入。然後將隨機生成的整數放入數組a中。//有什麼問題可以繼續追問import java.util.Scanner;public class ces {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("請輸入要隨機生成數(1-100)的個數:");
int n=in.nextInt();
int[] a=new int[n];
for(int i=0;i<a.length;i++)
a[i]=(int) (Math.random()*100+1);
int max=a[0];
int min=a[0];
for(int j=1;j<a.length;j++)
{
if(a[j]>max) max=a[j];
if(a[j]<min) min=a[j];
}
System.out.println("最大值為:"+max);
System.out.println("最小值為:"+min);
}
}

㈣ java中哪種查找演算法最有效率

這個問題不能一概而論


如果有一種演算法優於其他演算法,那麼其他演算法就不存在了不是?


所以,要看在什麼情況下,那麼有這么幾個方面

  1. 背景數量級和匹配數量級,就是說你要在多少數據中查找多少數據。

  2. 背景數據差異度,背景數據如果包羅萬象,或者都是數字,那麼選擇的演算法區別就大了

  3. 背景數據整理程度。很多人在選擇查找演算法時不考慮這個,但是這在實際應用中很有異議,比如數據都排序過和沒有排序過,可想而知演算法的選擇有很大的不同。

  4. 匹配方式,是用「等於」 這種方式匹配,還是用like這種方式匹配,也對演算法有很大影響。

㈤ java怎麼 在數組 查找元素

1
遍歷數組判斷
2
從開始就把數組的內容按照你要查找的那個條件的順序排列存儲,然後
二分法查找
。Arrays類有相關實現,可以參考。或者可以直接用,但是注意使用條件,很重要。

㈥ java常用演算法,給個int數組,數字不連續,找出最小空缺數

public static void main(String[] args) {

int[] array = new int[] {1,2,3,6,7,8,9,10,11,12, 13, 14, 15, 16, 17, 18, 19, 20 };
//將數組拆分
int minque = 1;
if (1 == array[0]){
minque = zhaoque(array);
}
System.out.println(minque);
}

public static int zhaoque(int[] array){
int minque = 1;
//array 不為空
if (null != array && array.length>0){
if (array.length == 1){
minque = array[0]+1;
} else if(array.length == 2){
if (1 == (array[1] - array[0])){
minque = array[1]+1;
} else {
minque = array[0]+1;
}
} else {
int headlength = (array.length+1)/2;
int[] headArray = new int[headlength];
System.array(array,0,headArray,0,headlength);
//檢查前半部分是否密集
int headmin = headArray[0];
int headmax = headArray[headlength-1];
if (headlength > (headmax - headmin)){
//前部分密集分布
int footlength = array.length - headlength;
int[] footArray = new int[footlength];
System.array(array,headlength,footArray,0,footlength);
int footmin = footArray[0];
int footmax = footArray[footlength-1];
// 檢查後部分是否與前部分銜接
if (1 == (footmin - headmax)){
//檢查後部分是否密集
if (footlength > (footmax - footmin)){
//後半部分密集分布
minque = footmax +1;
} else {
minque = zhaoque(footArray);
}
} else {
minque = headmax +1;
}
} else {
minque = zhaoque(headArray);
}
}
}
return minque;
}

㈦ 什麼叫java中的二分查找法

1、演算法概念。

二分查找演算法也稱為折半搜索、二分搜索,是一種在有序數組中查找某一特定元素的搜索演算法。請注意這種演算法是建立在有序數組基礎上的。

2、演算法思想。

①搜素過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜素過程結束;

②如果某一特定元素大於或者小於中間元素,則在數組大於或小於中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。

③如果在某一步驟數組為空,則代表找不到。

這種搜索演算法每一次比較都使搜索范圍縮小一半。

3、實現思路。

①找出位於數組中間的值,並存放在一個變數中(為了下面的說明,變數暫時命名為temp);

②需要找到的key和temp進行比較;

③如果key值大於temp,則把數組中間位置作為下一次計算的起點;重復① ②。

④如果key值小於temp,則把數組中間位置作為下一次計算的終點;重復① ② ③。

⑤如果key值等於temp,則返回數組下標,完成查找。

4、實現代碼。

/**
*description:二分查找。
*@paramarray需要查找的有序數組
*@paramfrom起始下標
*@paramto終止下標
*@paramkey需要查找的關鍵字
*@return
*/
publicstatic<EextendsComparable<E>>intbinarySearch(E[]array,intfrom,intto,Ekey)throwsException{
if(from<0||to<0){
("paramsfrom&lengthmustlargerthan0.");
}
if(from<=to){
intmiddle=(from>>>1)+(to>>>1);//右移即除2
Etemp=array[middle];
if(temp.compareTo(key)>0){
to=middle-1;
}elseif(temp.compareTo(key)<0){
from=middle+1;
}else{
returnmiddle;
}
}
returnbinarySearch(array,from,to,key);
}
閱讀全文

與java數組查找演算法相關的資料

熱點內容
我的世界伺服器如何注冊賬號 瀏覽:932
統計英文字元python 瀏覽:423
linux信息安全 瀏覽:908
壓縮機接線柱爆 瀏覽:999
程序員自主創業 瀏覽:582
匯編程序員待遇 瀏覽:359
怎麼批量有順序的命名文件夾 瀏覽:209
杭州程序員健身 瀏覽:17
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383