Lenguaje de programación C

Búsqueda binaria en arreglos de cadenas con C

Introducción

Esto es el complemento a la entrada publicada anteriormente sobre la búsqueda binaria en C sobre arreglos de números.

Ahí buscamos en arreglos de números, ahora nos toca buscar en arreglos de cadenas. Igualmente aplicaremos la forma recursiva y con el ciclo while.

Los arreglos de cadenas son una cosa un poco complicada al inicio, sobre todo en este lenguaje. Por eso te invito a que leas cómo trabajar con arreglos de cadenas en C.

Por cierto, para una explicación más detallada o si quieres ver este algoritmo en otros lenguajes, visita: algoritmo de búsqueda binaria en varios lenguajes de programación.

Búsqueda binaria en arreglos de cadena con C

Explicación

Ya lo expliqué en el post anterior que está citado al inicio. Aquí sólo explicaremos las funciones y la forma de comparar; la cosa no cambia mucho.

En C, para comparar una cadena usamos la función strcmp que está en la librería estándar y también en string.h.

Esta función funciona como strcmp en PHP; devuelve -1, 0 o 1 dependiendo de la comparación de las cadenas. Si la primera es menor que la segunda, devuelve menos 1. Si son iguales, devuelve 0. Y si la primera es mayor que la segunda devuelve 1.

De esta manera usamos el resultado para comparar las cadenas  y saber si debemos ir a la izquierda o a la derecha.

Búsqueda binaria recursiva en arreglos de cadenas en C

Aquí la función:

See the gist on github.

Lo que cambia es que en lugar de comparar números, comparamos la cadena y luego comparamos su resultado.

Más abajo ejecutaremos una prueba, sigue leyendo si deseas verla.

Búsqueda binaria con el ciclo while en C sobre arreglos de cadenas

Lo mismo que arriba, pero usamos un ciclo while que se rompe si izquierda es mayor que derecha.

Si no entiendes de lo que hablo, lee los otros posts en donde se explica detalladamente.

See the gist on github.

Recibe, aparte del arreglo y la búsqueda, la longitud del arreglo. Esto es porque no podemos calcular ese dato dentro de la función.

Cómo usar estas funciones de búsqueda binaria en cadenas

Ahora sí veamos cómo se pueden usar. Para ello declaramos un arreglo, una búsqueda, buscamos e imprimimos el resultado.

Todo el código quedaría así:

See the gist on github.

También puedes probarlo aquí mismo.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

21 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.