Red de conocimiento informático - Aprendizaje de programación - Programación Jtap

Programación Jtap

La programación Vb realiza la fusión de dos matrices ordenadas, es decir, la fusión bidireccional.

Las matrices A y B registran algunos datos respectivamente. Los datos de estas dos matrices se han ordenado de pequeño a grande. Utilice VB para escribir un programa que combine estos datos en la misma matriz y organice todos los datos combinados de pequeño a grande.

Esta es la llamada "fusión bidireccional". Al escribir este programa, déjame explicarte primero. En primer lugar, usar la función inputbox() para ingresar grandes cantidades de datos es muy tedioso, especialmente durante la fase de depuración, cuando se ingresa una gran cantidad de datos para cada ejecución. Por lo tanto, se utiliza el método de entrada de la función de matriz.

Para que una gran cantidad de datos sea claramente visible al generar, configuramos un cuadro de texto en el formulario en ejecución, configuramos la propiedad MultiLine del cuadro de texto en True y configuramos Scorllbars en 2 (con desplazamiento vertical). bar) .

El código del programa Vb es el siguiente:

Private subform_Click()

"Dim a" define una matriz de tipo variable.

a =Matriz(1,3,5,7,9,11)

Dim b

b =Matriz(2,4,6,8 , 10, 12, 14, 16, 18)

Dimensión c(1000)

pa = 0: pb = 0: pc = 0

Ea = UBound(a)'Los límites superior e inferior del subíndice de la matriz de variables A se pueden obtener utilizando las funciones UBound() y LBOUND() (si no se especifica el límite inferior del subíndice, generalmente es 0).

eb = sin consolidar(b)

hasta pa & gtea y pb & gteb

si pa & gtea entonces ta = b(eb) + 1 En caso contrario ta = a(pa)

Si pb y gteb entonces tb = a(ea) + 1 en caso contrario tb = b(pb)

Si ta y lt entonces tuberculosis

c(pc) = ta

pc = pc + 1

Si pa & lt= ea entonces pa = pa + 1

Otros

c(pc) = tb

pc = pc + 1

Si pb & lt= eb entonces pb = pb + 1

Será end if...

Bucle

Imprimir ea, eb, pc

Texto1. Text = "Elementos de la matriz A:" & vbCrLf

Para i = 0 a ea

Texto1. Texto = Texto1. Texto & ampa(i) y amp" "

Siguiente i

Texto1. Texto = Texto1. Texto &vbCrLf&vbCrLf&"Elementos de la matriz A:"&vbCrLf

Para i = 0 a eb

Texto1. Texto = Texto1. Texto & ampb(i) y amp" "

Siguiente i

Texto1. Texto = Texto1. Texto &vbCrLf&vbCrLf&"Fusionar elementos de B:"&vbCrLf

Para i = 0 a pc

Texto1. Texto = Texto1. Text & ampc(i) y amp" "

Siguiente I

Conector final

Por supuesto, puedes copiar todos estos datos en una matriz. luego se procesa una vez con un algoritmo de clasificación, pero en este caso no se utiliza el orden original de las dos matrices. ¿Puedes usar la secuencia original para hacer que el algoritmo sea más eficiente?