#include
#include
#define MAX 7
int intArray [MAX] = {4,6,3,2,1,9,7};
printline vacío (recuento int) {
int i;
- ¿Cuál es el algoritmo de búsqueda de profundidad primero?
- Estoy comenzando un proyecto de clasificación de picos, ¿dónde encuentro datos sin procesar y / o simulados?
- ¿Cuáles son los mejores libros sobre algoritmos y estructuras de datos?
- ¿Cuál es la diferencia entre usar <y <= en la búsqueda binaria?
- ¿Cuáles son algunas técnicas utilizadas en la criptación?
para (i = 0; i <cuenta-1; i ++) {
printf (“=”);
}
printf (“= \ n”);
}
pantalla vacía () {
int i;
printf (“[“);
// navega por todos los elementos
para (i = 0; i <MAX; i ++) {
printf (“% d”, intArray [i]);
}
printf (“] \ n”);
}
intercambio nulo (int num1, int num2) {
int temp = intArray [num1];
intArray [num1] = intArray [num2];
intArray [num2] = temp;
}
partición int (int izquierda, int derecha, int pivote) {
int leftPointer = left -1;
int rightPointer = right;
while (verdadero) {
while (intArray [++ leftPointer] <pivot) {
//hacer nada
}
while (rightPointer> 0 && intArray [–rightPointer]> pivot) {
//hacer nada
}
if (leftPointer> = rightPointer) {
rotura;
} más {
printf (“elemento intercambiado:% d,% d \ n”, intArray [leftPointer], intArray [rightPointer]);
intercambio (leftPointer, rightPointer);
}
}
printf (“pivote intercambiado:% d,% d \ n”, intArray [leftPointer], intArray [right]);
intercambio (leftPointer, right);
printf (“Matriz actualizada:”);
monitor();
volver leftPointer;
}
void quickSort (int left, int right) {
if (derecha-izquierda <= 0) {
regreso;
} más {
int pivot = intArray [derecha];
int divisionPoint = partición (izquierda, derecha, pivote);
quickSort (izquierda, particiónPoint-1);
quickSort (PartitionPoint + 1, derecha);
}
}
principal() {
printf (“Matriz de entrada:”);
monitor();
línea de impresión (50);
quickSort (0, MAX-1);
printf (“Matriz de salida:”);
monitor();
línea de impresión (50);
}
SALIDA:
Matriz de entrada: [4 6 3 2 1 9 7]
==================================================
pivote intercambiado: 9,7
Matriz actualizada: [4 6 3 2 1 7 9]
pivote intercambiado: 4,1
Matriz actualizada: [1 6 3 2 4 7 9]
artículo intercambiado: 6,2
pivote intercambiado: 6,4
Matriz actualizada: [1 2 3 4 6 7 9]
pivote intercambiado: 3,3
Matriz actualizada: [1 2 3 4 6 7 9]
Matriz de salida: [1 2 3 4 6 7 9]
==================================================