获取最大值的另外一种方式。 可不可以将临时变量max初始化为0呢?可以,这种方式,其实是在初始化为数组中任意一个角标。 及: publicstatic int getMax(int[ ] arr) { int max= 0; for(int x=1;x<arr.length;x++) { if(arr[x]>arr[max]) max = x ; } returnarr [max] ; } publicstatic void main(String[ ] args) { int[ ] arr={5,1,6,4,2,8,9}}; int max = getMax(arr); System.out.println(“max=”+max); } 获取最小值:(同理) publicstatic int getMin(int[ ] arr) { int min =0 for(int x=1;x<arr.length;x++) { if(arr[x]<arr[min]) min=x; } returnarr[min]; } publicstatic void main(String[ ] args) { int[ ] arr={5,1,6,4,2,8,9}}; int max = getMax(arr); int min = getMin(arr) System.out.println(“max=”+max); System.out.println(“min=”+min); } C2、数组的常见操作——排序 Array.sort(arr); ——java中已经定义好的一种排序方式,开发中,对数组排序,要使用该句代码! a、选择排序 实例:对数组{5,1,6,4,2,8,9}进行排序。 class ArrayTest1 { publicstatic void selectsort (int[] arr) { for(int x=0; x<arr.length-1; x++) { for(inty=x+1; y<arr.length; y++) { if(arr[x]>arr[y]) { inttemp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } } publicstatic void main(String[] args) { int[]arr={5,1,6,4,2,8,9}; printArray(arr); selectsort(arr); printArray(arr); } publicstatic void printArray(int[]arr) { System.out.print("["); for(intx=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else System.out.println(arr[x]+"]"); } } } 总结:内循环结束一次,最值出现在头角标位置上 b、冒泡排序 定义:相邻的两个元素进行比较,如果符合条件,换位。 特点:第一圈排序后,最值出现了最后位。 class BubbleSort { publicstatic void bubbleSort(int[] arr) { for(int x=0;x<arr.length-1 ; x++) { for(int y=0;y<arr.length-x-1 ;y++ ) { if(arr[y]>arr[y+1]) { inttemp=arr[y]; arr[y]=arr[y+1]; arr[y+1]=temp; } } } } publicstatic void printArray(int[]arr) { System.out.print("["); for(intx=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else System.out.println(arr[x]+"]"); } } publicstatic void main(String[] args) { int[]arr={5,1,6,4,2,8,9}; printArray(arr); bubbleSort(arr); printArray(arr); } }
|