数组冒泡升序降序

xiaoxiao2021-02-28  127

package test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test { //升序 public static int[] Ascending(int[] input){ for(int i=0;i<input.length;i++){ int j=i; for(;j<input.length-1;j++){ if(input[j]>input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; } //降序 public static int[] Descending(int[] input){ for(int i=0;i<input.length;i++){ int j=0; for(;j<input.length-1;j++){ if(input[j]<input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; }     public static void main(String[] args)     {       int[] array=new int[]{8,2,5,3,8}; //     int[] newArray=Test.Ascending(array);     int[] newArray=Test.Descending(array);     for(int i:newArray){        System.out.println(i);         }     }

}

代码做了改进,首次运行上面的代码没发现问题,但觉得不符合逻辑,所以做了修改。还增加了查询的方法。

package test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test {    //查找    public static int[] findIndex(int[] input,int value){   int sum=0;   for(int i=0;i<input.length;i++){   if(input[i]==value){   sum++;   }   }   if(sum==0){  return null;   }   int[] re=new int[sum];   int index=0;   for(int i=0;i<input.length;i++){   if(input[i]==value){  re[index]=i;  index++;   }   }   return re;    } //升序 public static int[] Ascending(int[] input){ for(int i=0;i<input.length;i++){ int j=0; for(;j<input.length-i-1;j++){ if(input[j]>input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; } //降序 public static int[] Descending(int[] input){ for(int i=0;i<input.length;i++){ int j=0; for(;j<input.length-i-1;j++){ if(input[j]<input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; }     public static void main(String[] args)     {       int[] array=new int[]{8,2,5,3,8}; //     int[] indexarry=Test.findIndex(array, 2); //     if(null!=indexarry){ //     for(int i:indexarry){ //        System.out.println(i); //        } //     }else{ //     System.out.print("no found"); //     } //     //     int[] newArray=Test.Ascending(array);     int[] newArray=Test.Descending(array);     for(int i:newArray){        System.out.println(i);       }     } }

转载请注明原文地址: https://www.6miu.com/read-53642.html

最新回复(0)