Java aprendizaje, el día 4 (serie de cuestiones y ordenamiento de burbuja)

Java aprendizaje, el día 4 (serie de cuestiones y ordenamiento de burbuja)

Día
P1: la búsqueda de una suma matriz bidimensional

		public class day4 {
		public static void main(String[] args){
		//求二位数组总和
		int[][] arr = new int[][] {
			{3,8,2},
			{2,7},
			{9,0,1,6}
		    };
		//老师给的计算方法
		int len = arr.length;
		int res = 0;
		for(int i=0; i<len; i++) {//数组一维的长度
			int[] arr0 = arr[i];
			int lenn = arr0.length;
			for(int j=0; j<lenn; j++) {//二维数组的长度
				res += arr0[j];
			}
		}
		System.out.println(res);
		//输出结果为数组总和38
	}
}

Ver este código, como un largo tiempo no entendía, hasta que vea las segundas las ideas de resolución de problemas

		//第二个解题思路
		int res =0;
		for(int i=0; i<arr.length; i++) {
			for(int j=0; j<arr[i].length; j++) {
				res += arr[i][j];
			}
		}
		System.out.println(res);

No entender la primera vez, pero cuidadosa reflexión por un momento,
. Una matriz de dos dimensiones como array
Por ejemplo: arr [] [] dentro de la primera abrazadera es vertical, la segunda es una cruz
for (int i = 0; i <arr.Length; i ++) // es mi entendimiento de que esta [i] representa todas las líneas verticales
para (int j = 0; j <arr [i] .length; j ++) // es mi entendimiento de que esta [ j] representa ningún transversal (es decir, unidimensional array),
RES = + AII [i] [j]; // esto es mi entendimiento de que [i] y [j] representa el número de cada uno de la matriz de [0] [0] a la final [2] [3]
// ellos después de todo + = 0, se Resultados obtenidos: 38

P2: máximo de la matriz buscan
su propio pensamiento por un momento, escribió la siguiente cosa (de hecho la materia)

		int[] arr=new int[] {4,2,7,1,3,5};
		int max = arr[0];
		int k = 0;
			for(int i=0; i<arr.length; i++) {
				if(max > arr[i]) {
					k += max;
				}
			}
			System.out.println(k);

El resultado final fue 12 que le gustaría durante mucho tiempo por lo que es de 12,
y finalmente comprender el todo, digo este código es que
si un número es mayor que el máximo de la matriz, se agrega un valor máximo de la
matriz [0] 4
4 es mayor que 2, mayor que 1, mayor de 3
4 + 4 + 4 = 12
después de la k se separó para dar el siguiente código

		int[] arr=new int[] {4,2,7,1,3,5};
		int max = arr[0];
		
		for(int i=0; i<arr.length; i++) {
			if(max > arr[i]) {
				max = arr[i];
			}
		}
		System.out.println(max);

Porque se le olvidó escribir = max matriz [i] detrás de la coma, entonces el error también cuestionó mucho tiempo
y vieron la respuesta, encontró que además de escribir accidente menor punto y coma, si los soportes deben ser menores que arr max [i]
A continuación, ejecute de nuevo el código anterior y se encontró que el resultado es 1, pensado para un momento más tarde
llegó a la conclusión de que: 4 es mayor que el número será asignado a I, a continuación, la final se convertirá en un valor mínimo de 1, me he convertido en el código para encontrar el mínimo.

	Q3:求数组平均数
		int[] arr=new int[] {4,2,7,1,3,5};
		int res=0;
		
		for(int i=0; i<arr.length; i++) {
			res += arr[i];
		}
		System.out.println(res / arr.length);

El código no es la forma en que desea escribir, pero el resultado fue 3, pensé que tenía que tomar una calculadora,
el resultado debería ser 3,6666, pero se piensa por un momento, el contenido después del punto decimal int get se descarta, es de hecho 3 .

Q4: burbujeante algoritmo
algoritmo principio de la burbuja es de dos elementos adyacentes, la parte delantera de la gran parte posterior, dos elementos de conmutación
del código como sigue

		int[] arr = new int[] {5,7,4,3,9};
		int temp = 0;
		//冒泡算法中,对比的算法会比数组长度少一次,所以在for中是.length - 1.
		for(int i = 0; i < arr.length - 1; i++) { 
		//第二次循环是在第一次循环内,因为不可能有多少长度就写多少个循环,所以是.length - 1 - i;
		//这里的i是每次都会减少,直到达到0为止
			for(int k = 0; k < arr.length - 1 - i; k++) {
				if(arr[k] > arr[k + 1]) {
				//这里是冒泡算法中的把两个元素的位置调换
					temp = arr[k];
					arr[k] = arr[k + 1];
					arr[k + 1] = temp;
				}
			}
		}
		//tips:要在循环外去打印
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}

algoritmo de burbujeo principio, leyó de nuevo a comprender, pero hay conversión relativamente ignorante, que parece ser un giro cerebro, sin embargo.

Publicado ocho artículos originales · ganado elogios 0 · Vistas 85

Supongo que te gusta

Origin blog.csdn.net/Reishinj/article/details/104950509
Recomendado
Clasificación