Un ejercicio utilizando arreglos y una posible resolución. ¿Se te ocurre alguna otra? Si es así, compartila en la sección de comentarios 😃.
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Dado un arreglo conteniendo solo unos y ceros, y su dimensión, ordenar los elementos en tiempo lineal.
Ejemplo:
Entrada: { 1, 0, 1, 0, 1, 0, 0, 1 }
Salida: { 0, 0, 0, 0, 1, 1, 1, 1 }
void ordenar(int A[], int n) {
int k = 0;
for (int i = 0; i < n; i++) {
if (A[i] == 0) {
A[k++] = 0;
}
}
for (int i = k; i < n; i++) {
A[k++] = 1;
}
}