Cola en C - Estructura de datos

En este post vamos a implementar una estructura de datos en C de tipo lista ligada. Se trata de una cola, que a su vez es una lista en donde iremos colocando los elementos al final de la misma, contrario a una pila en donde cada elemento va a la parte superior. Hay varias operaciones para una cola en C, pero por ahora te mostraré las 2 básicas: la de encolar un elemento y la de recorrer la cola. Con esos dos métodos ya puedes calcular el tamaño de la lista, comprobar si un elemento existe en la cola y muchas cosas más. Recuerda que la cola en C puede ser de cualquier tipo y guardar cualquier cantidad de datos de cualquier tipo. Al final nosotros le asignamos memoria dinámicamente con malloc. ...

abril 15, 2022 · 5 min · 897 palabras · Parzibyte

C - Obtener índice de subcadena en cadena

Anteriormente en mi blog te enseñé cómo saber si una cadena en C contiene una subcadena. Ahora te mostraré cómo saber el índice (es decir, la posición) en donde aparece la subcadena dentro de la cadena. Para esto vamos a usar strstr y operaciones con punteros. ...

febrero 2, 2021 · 2 min · 279 palabras · Parzibyte

C - Árbol binario de cadenas

En este post te mostraré cómo implementar la estructura de datos de árbol binario en ANSI C en donde el dato de cada nodo o rama será una cadena. Te enseñaré cómo agregar un struct de nodo de árbol cuyo dato es char*, elegir si el nodo va a la izquierda o derecha (comparando cadenas) , recorrer el árbol en preorden, inorden y postorden y también hacer una búsqueda en el mismo. Me estoy basando en el tutorial de árboles binarios en C que presenté anteriormente, solo que en aquel entonces fue con un tipo de dato entero, ahora lo haré con strings. Nota: nodo y rama serán usados como sinónimos a lo largo de este post. ...

enero 13, 2021 · 8 min · 1498 palabras · Parzibyte

C - Intercambiar elementos de arreglo de cadenas

En este post de programación en C, también conocido como ANSI C vamos a ver cómo intercambiar los elementos de un arreglo de cadenas o strings, es decir, modificar los elementos de un arreglo de strings a través de su índice. En otras palabras, hacer un intercambio como: temporal = arreglo[0] arreglo[0] = arreglo[1] arreglo[1] = temporal Aunque suena fácil, recordemos que en C no podemos hacer eso con los arreglos de cadenas, y debemos usar otras funciones que trabajan con apuntadores. ...

octubre 29, 2020 · 3 min · 446 palabras · Parzibyte

Implementación de una pila dinámica en C

Pila o stack dinámica en el lenguaje C Una pila es una estructura de datos simple. Los datos se van apilando uno tras otro. Podemos abstraer cada elemento como un nodo que puede apuntar a otro nodo. Su modo de acceso es LIFO: el último en entrar es el primero en salir. Las operaciones que tiene son 2: push y pop; la primera le pone un elemento y la segunda quita el último. Veremos las operaciones básicas de una pila o stack en C; además de otras que hice para exponer aquí. Son: Tamaño: devolver el tamaño de la pila Apilar, también conocido como push: agregar un elemento Desapilar, o la operación pop: quitar el último elemento; es decir, el elemento superior Leer último: leer el elemento superior de la pila Vacía: indica si la pila está vacía Imprimir: recorrer la pila e imprimir sus valores Por cierto, esta pila será dinámica: podremos poner elementos infinitos siempre y cuando nuestra memoria RAM alcance (cosa que es muy, muy difícil que ocurra) Nota: esto será un tipo de lista ligada, así como la cola. ...

noviembre 13, 2018 · 8 min · 1648 palabras · Parzibyte