Red de conocimientos sobre prescripción popular - Conocimiento del confinamiento - Programación utilizando métodos orientados a objetos JAVA

Programación utilizando métodos orientados a objetos JAVA

Clasificación rápida de clase pública {

datos int[] privados;

clasificación rápida (datos int[]) {

this.data = datos

}

Public void QuickSort(){

recQuickSort(data, 0, data . length-1);

}

Private void recQuickSort(int[] data, int low, int high) {

//Establecer dos controles deslizantes

int low cursor = low+1;

p >

int highCursor = high;

//Variable temporal durante el intercambio

int temp = 0;

//Compara los valores de perspectiva y Configúrelo en el primer valor de la matriz.

int medi = data[low];

while (true) {

//Busca desde el extremo inferior para determinar los datos [low] que son mayor que la ubicación del número.

mientras(cursor bajo & lt;alto& amp& ampdata[cursor bajo]& lt;medi) {

cursor bajo++;

}

//Busca desde el extremo superior para determinar la posición que es más pequeña que los datos [extremo inferior]. Utilice >= para determinar si es menor que este valor.

mientras(cursor alto & gt; bajo & amp& ampdata[cursor alto]& gt; = medi) {

cursor alto-;

}

p>

//Las posiciones de los dos cursores exceden el límite y salen del bucle.

if(cursor bajo & gt; = cursor alto) {

Break;

}

//Intercambiar datos [highCursor] y data[lowCursor] Datos de ubicación.

temp = datos[cursor alto];

datos[cursor alto]= datos[cursor bajo];

datos[cursor bajo]= temp;

}

//Según la condición de salida del bucle while: lowCursor > highCursor

//El lowCursor actual apunta a la primera posición a la derecha que es mayor than data[low];

// El cursor alto apunta a la primera posición a la izquierda que es menor que data[low], por lo que data[low] y data[low] deben intercambiarse.

//El valor de los datos [cursor alto]

Datos [bajo] = datos [cursor alto];

datos [cursor alto] = medi;

//Opere recursivamente la mitad izquierda.

if(low& lthighCursor) {

recQuickSort(datos, bit bajo, cursor de bit alto

}

//Recursivo); operación Mitad derecha.

if(cursor bajo & lt; alto){

recQuickSort(datos, cursor bajo, alto

}

}

//Imprimir matriz

Visualización de vacío público(){

for(int I = 0; i<data length; i++) {

sistema .print(datos[I]+" ");

}

sistema println(); >

//Genera una matriz que contiene números aleatorios de tamaños grandes y pequeños.

público estático int[]obtener datos(int tamaño){

int datos[]= nuevo int[tamaño];

for(int I = 0 ;i<data length; i++) {

data[I]=(int)(1+math . random()* 54); //Genera un número aleatorio 1-54, donde Math. genera un número del 0 al 1.

}

Datos devueltos;

}

//Prueba

Public static void main(String[ ] args) {

int datos[]= obtener datos(10);

QuickSort sort = nuevo QuickSort(datos);

sort.display() .

ordenar.clasificación rápida();

ordenar.display().

}

}