数组的常见操作
(视频教程所学)记录所学,非解疑。。。。
数组的常见操作
遍历
//数组的遍历 public class ArrayDemo1 { public static void main(String[] args) { //定义一个数组 int[] arr = new int[]{1,2,3,4}; //数组的遍历其实就是一个for循环的过程 for(int x = 0; x < arr.length ; x++) { System.out.println("arr[" + x + "] = " + arr[x] + ";"); } } }
求最值
public class ArrayDemo1 { public static void main(String[] args) { int[] arr = new int[]{4,2,5,9,1}; int max = getMax(arr); System.out.println(max); } //定义一个方法,以便提高代码的扩展性 /** *参数为int类型的数组:int[] *有一个int类型的返回值 */ public static int getMax(int[] arr) { int max = 0; //遍历数组中的每一个数和max进行比较,取其中的最大值。 for(int x = 0; x <arr.length; x++) { if(arr[x] >= max) max = arr[x]; } return max; } }
排序(选择排序、冒泡排序)
选择排序:
//选择排序 /* 思路: 1、先拿出第一个位置(即角标为0的位置)上的数字与第二个位置(即角标为1的位置)上的数字进行比较,把小的值替换到第一个位置上, 然后再拿第一个位置上的数字和第三个位置上的数字进行比较,最后会排出其中最小的一个值,放在数组的第一位置上。 2、从第二个位置上的数字开始从新开始一遍在进行比较,同样会排出剩余的数字里面最小的一个值,放在数组的第二个位置上。 3、以此类推,把整个数组的顺序排好。 */ public class ArrayDemo2 { public static void main(String[] args) { int[] arr = new int[]{2,6,4,5,1}; sort(arr); printArr(arr); } /** *一个int类型数组参数:int[] arr *因为Array为引用类型,所以没有返回值。void */ public static void sort(int[] arr) { for(int x = 0; x < arr.length-1; x++) { for(int y = x + 1; y < arr.length; y++) { int temp = 0; if(arr[y] < arr[x]) { temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } public static void printArr(int[] arr) { for(int x = 0; x < arr.length; x++) { System.out.print(arr[x] + " "); } } }
冒泡排序
//冒泡排序 /* 思路: 1、拿出第一个位置上的数字和第二个位置上的数字进行比较,把大的数字往后移,然后再把第二个位置上的数字和第三个位置上的数 字进行比较,同样的把较大的数字往后移。最后会发现数组中最大的数字被移到最后了。 2、再进行一遍第一步,但因为最后一个位置已经是最大的数字了,所以就不用比较了。 3、以此类推,直到把数组排列好。 */ public class ArrayDemo3 { public static void main(String[] args) { int[] arr = new int[]{2,6,4,5,1}; sort(arr); printArr(arr); } public static void sort(int[] arr) { //因为x是从0开始的,所以x<arr.length-1,循环了4次。 for(int x = 0; x < arr.length -1 ; x++) { /* arr.length-1-x解析:当x=0时,会排出最大值放在最后的位置,然后x增加了一个值,如果y<arr.length-1的话,则还会遍历一次 最大值,所以这里需要再减一次x。 */ for(int y = 0; y < arr.length - 1 -x; y++) { int temp = 0; if(arr[y] > arr[y+1]) { temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } } public static void printArr(int[] arr) { for(int x = 0; x < arr.length; x++) { System.out.print(arr[x] + " "); } } }

浙公网安备 33010602011771号