Red de conocimientos turísticos - Información de alquiler - Utilizar programación en lenguaje C para implementar: ordenar los 100 números enteros de entrada en orden ascendente (de mayor a menor) y generar los datos ordenados de acuerdo con diez números en cada línea.

Utilizar programación en lenguaje C para implementar: ordenar los 100 números enteros de entrada en orden ascendente (de mayor a menor) y generar los datos ordenados de acuerdo con diez números en cada línea.

#include

#define arrSize 100

typedef enum {swap_right,swap_left}swap_dir;

void init_arr (int* arr,int tamaño);

void quickSort(int* arr, int tamaño);

void print_arr(int* arr,int tamaño);

int main() {

int arr[arrSize];

printf("Ingrese %d enteros (enteros con valores absolutos inferiores a 100000 para una fácil visualización): \n ",arrSize);

init_arr(arr, arrSize);

printf("¡¡¡Entrada completa!!!\n");

printf( "Comenzar a ordenar\n");

quickSort(arr, arrSize);

printf("¡¡¡Finalizar clasificación!!!\n");

printf (" Iniciar salida\n");

print_arr(arr, arrSize);

printf("¡¡¡Finalizar salida!!!\n");

return 0 ;

}

void init_arr(int* arr, int tamaño) {

for (int i = 0; i < tamaño; i++) {

printf("Ingrese el entero %dth:",i+1);

scanf("%d",arr+i);

}

}

void quickSort(int* arr, int size) {

if (arr == NULL || size <= 1)

return;

int key_index = 0;

int key_num = arr[key_index];

int front_index = 0;

int back_index = tamaño - 1;

swap_dir dir = swap_right;

while (front_index < back_index) {

if (dir == swap_right) {

if (arr[back_index] < key_num) {

arr[key_index] = arr[back_index];

arr[back_index] = key_num;

key_index = back_index;

front_index++;

dir = swap_left;

}

else {

back_index--;

}

}

else if (dir == swap_left) {

if (arr[ índice_frontal ] > clave_

num) {

arr[key_index] = arr[front_index];

arr[front_index] = key_num;

key_index = front_index;

back_index--;

dir = swap_right;

}

más {

front_index++;

}

}

}

si (key_index > 0)

quickSort(arr,key_index);

if (key_index < tamaño -1)

quickSort((arr+key_index + 1),(tamaño - 1 - key_index));

}

void print_arr(int* arr, int tamaño) {

for (int i = 0; i < tamaño; i++) {

printf("%5d ",*(arr + i));

if ((i + 1) % 10 == 0) {

printf("\n");

}

}

}