温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-10 14:02:04 来源:网络 阅读:316 作者:王果果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的下标是 " + index);
}else{
System.out.println("没找到");
}
double ret=average(array);
System.out.println("平均值为 " + ret);
int binary=binarySearch(array,0);
if(binary!=-1){
System.out.println("找到了,下标为"+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问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI