Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
En el post de hoy vamos a ver un algoritmo con Python para contar las ocurrencias de una palabra en una oración (cantidad de veces que se repite la palabra) o cadena sin usar split
ni count
, además de que no va a importar si la cadena no tiene espacios.
Con el código Python expuesto aquí vas a aprender a contar la cantidad de palabras en un string con la opción de encontrar solo coincidencias completas.
Recuerda que ya anteriormente te enseñé a hacerlo con split y luego incluso contamos el porcentaje.
Hoy te enseñaré cómo implementar una lista ligada en el lenguaje de programación C++ también conocido como CPP.
Además de mostrarte la clase Lista y la clase Nodo, te enseñaré las operaciones que podemos realizar con ella. Son las siguientes:
Todo esto usando C++ e implementando los métodos y algoritmos manualmente. Por cierto, en este caso el tipo de dato que vamos a almacenar será un int pero fácilmente puedes cambiarlo a cualquier otro tipo de dato.
Veamos hoy cómo comprobar si un valor o elemento existe dentro de un arreglo de Javascript. Recordemos que un arreglo en Javascript es una lista de valores.
En ocasiones, es necesario buscar la posición de determinado elemento, o tal vez sólo comprobar si existe dentro de un array, arreglo, vector o lista. Dicho con otras palabras, veremos cómo checar si un elemento está presente. Recientemente en ES6 se introdujo un nuevo método que veremos a continuación.
Utilizamos indexOf, que yo traduzco como “índice de”. Es fácil, es un método que tienen los arreglos y que recibe el valor a buscar. Devuelve la posición del elemento, o -1 si no lo encuentra. A diferencia de Python, éste no genera ninguna excepción.
var agentes = ["Will Graham", "Clarice Starling", "Alex Cross"]; var indice = agentes.indexOf("Will Graham"); // Buscar índice de Will Graham //indice es 0 var otroIndice = agentes.indexOf("Thomas Pierce"); //No existe //otroIndice es -1
Con esto podemos obtener el índice, que recordemos comienza a contarse desde el 0. Es decir, el primer elemento tiene el índice 0, el segundo el 1, y así.
Anteriormente se utilizaba únicamente indexOf y se comprobaba el resultado del mismo con -1. Es decir, si el índice era -1 entonces no existía. Recientemente se introdujo otro método. Veamos ambos.
Tomando el ejemplo de arriba, podemos ver si Thomas Pierce existe así:
var agentes = ["Will Graham", "Clarice Starling", "Alex Cross"]; var indice = agentes.indexOf("Thomas Pierce"); if(indice !== -1){ console.log("Thomas Pierce está presente"); }else{ console.log("No encontrado"); }
Sólo comparamos para ver si es -1. En caso de que lo sea, es que no está presente dentro de la lista.
Como lo dije, se ha introducido un método más elegante. Podemos rescribir lo de arriba de esta manera:
var agentes = ["Will Graham", "Clarice Starling", "Alex Cross"]; if(agentes.includes("Thomas Pierce")){ console.log("Thomas Pierce está presente"); }else{ console.log("No encontrado"); }
Como el lector puede apreciar, el método o función includes devuelve un booleano. En caso de que exista, devuelve true; y si no, pues devuelve false.
Si necesitamos el índice, usemos indexOf. Si sólo queremos ver si existe, utilizamos includes. Por cierto, lo hicimos con cadenas pero funciona con números igualmente. Y con otros tipos de datos.
Aquí las referencias a indexOf e includes: