溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java求最大值、平均值、折半查找和冒泡排序

發(fā)布時(shí)間:2020-07-10 14:02:04 來源:網(wǎng)絡(luò) 閱讀:320 作者:王果果ooo 欄目:編程語言

public class Practice5_19{
public static int max(int[] array){
int max=0;
for(int i=0;i<array.length;i++){
if(array[i]>max){
max=array[i];
}
}
return max;
}
public static int indexOf(int[] array,int key){
for(int i=0;i<array.length;i++){
if(array[i]==key){
return i;
}
}
return (-1);
}
public static double average(int[] array){
double ave=0.0;
double sum=0.0;
int max=0;
int min=array[0];
for(int i=0;i<array.length;i++){
if(array[i]>max){
max=array[i];
}
}
for(int i=0;i<array.length;i++){
if(array[i]<min){
min=array[i];
}
}
for(int i=0;i<array.length;i++){
sum=sum+array[i];
}
//System.out.println(max);
//System.out.println(min);
sum=sum-max-min;
//System.out.println(sum);
ave=sum/(array.length-2);
return ave;
}
public static int binarySearch(int[] array,int key){
int left=0;
int right=array.length-1;
while(left<=right){
int mid=(left+right)/2;//int mid=left+(rigght-left)/2;避免越界
if(key>array[mid]){
left=mid+1;
}
else if(key<array[mid]){
right=mid-1;
}else{
return mid;
}
}
return (-1);
}
public static void swap(int[] array,int i,int j){
int t=array[i];
array[i]=array[i+1];
array[i+1]=t;
}
public static void bubbleSort(int[] array){
for(int i=0;i<array.length;i++){
boolean isSwapped=false;
for(int j=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
swap(array,j,j+1);
isSwapped=true;
}
}
if(!isSwapped){
return;
}
}
}
public static void main(String[] args){
int[] array={1,4,8,9,13};
int maxValue=max(array);
System.out.println("最大值是 " + maxValue);
int index=indexOf(array,8);
if(index!=(-1)){
System.out.println("0的下標(biāo)是 " + index);
}else{
System.out.println("沒找到");
}
double ret=average(array);
System.out.println("平均值為 " + ret);
int binary=binarySearch(array,0);
if(binary!=-1){
System.out.println("找到了,下標(biāo)為"+binary);
}else{
System.out.println("沒找到");
}
int[] array1=new int[]{6,0,7,2,3,4};
bubbleSort(array1);
//System.out.println(Arrays.toString(array1));
for(int g=0;g<array1.length;g++){
System.out.print(array1[g]);
}
}
}

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI