利用Java将数组里面最小的数输出。

    xiaoxiao2021-03-25  51

    1.冒泡排序法:

    对一维数组里的所有数进行两两比较,最终,数组里下标为0的既是最小的。这么做的优点:冒泡排序容易理解,结果也好理解。缺点:费时间(在现在的CPU计算能力下,这个真的会耽搁多久时间呢?如果是非常多的数据,大概能多多久呢?)

    int arr[]=new int []{1,3,4,267,-100,-50,478,52};//定义一个数组 for(int i=0;i<arr.length;i++){ for(int j=0;j<(arr.length-1);j++){//因为j+1的存在,故其长度要比数组长度少1 if(arr[j]>arr[j+1]){//交换数据 int tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; } } } System.out.println(arr[(0)]+" "+arr[(arr.length-1)]);//arr[0]是最小值。那么arr[arr.length-1]这个应该就是最大值了。

    2.不太清楚这个算法,感觉像是选择排序。将arr[0]定义为最小和最大,然后让arr[i]开始每个都与之相比,如果后面的值比它小,将后面的赋值给arr[0],最终可以得出最大和最小。但这种方法不能像冒泡那样,可以知道第二大/第二小的,功能比较单一。

    int min=arr[0];  int max=arr[0];//将数组的第一个值定义成最大 最小  for(int a=1;a<arr.length;a++){  //将arr[0]定义了,那么就应该从arr[1]开始  if(arr[a]<min){//判据,如果有一个比min小,那么就将此值赋值给最小  min=arr[a];  }  if(arr[a]>max){//判据,如果有一个比max大,那么就将此值赋值给最大  max=arr[a];  }    }  System.out.println(min+" "+max);

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

    最新回复(0)