C/Visual C - Pilas y colas.

 
Vista:

Pilas y colas.

Publicado por Pascual (1 intervención) el 01/09/2003 14:00:38
Buenas:
Quiero saber cual es la aplicacion CONCRETA que podría tener las estructuras dinámicas de datos como las pilas , colas y listas.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pilas y colas.

Publicado por BluSky (11 intervenciones) el 01/09/2003 14:51:25
uffffffff. Pues muchísimas.
Una, muy importante, es la de conocer el funcionamiento d elos punteros. Y a nivel práctico, supon que quieres cargar en memoria un fichero en disco y, evidentemente, no conoces su longitud; podrías crear una lista (ordenada, incluso) para acceder inmediatamente a cada elemento que necesites.
Y en cuanto a las pilas... pues la mayoría de losprocesos que se ejecutan en un ordenador están basados en ellas.
Saludos
Sebas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

A ver Azulito

Publicado por Pascual (1 intervención) el 02/09/2003 05:15:49
Ufff Interesante respuesta, pero a ver ...:
1. "Conocer el funcionamiento de los punteros", mmm y para que son los punteros, pues para conocer las listas, y las listas? para conocer los punteros....etc.etc.

2. Como accederías "inmediatamente" a los elementos de una lista? Y cual proceso, por ejemplo, realizaría con lo leído?

3. Necesitaría saber, dada mi evidente carencia, UNO de esos procesos de los que hablas.

No había antes por aqui un colaborador llamado ENDOS? Que pena...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A ver Azulito

Publicado por BluSky (11 intervenciones) el 02/09/2003 13:21:48
Los punteros no valen únicamente para las listas, pero SÍ que éstas hacen uso intensivo de ellos y son éstas, también, casos relativamente fáciles de entender por lo que ayudan muchísimo a entender el funcionamiento de los punteros... Podríamos decir que las listas están hechas para los punteros; NO los punteros para las listas.
Existen por la red fuentes con uso intensivo de punteros que a las 3 primeras líneas de código, te encuentras perdido.
En cuanto al proceso a realizar con lo leído... pues depende de lo que quieras.... tú pregunta es muy genérica (¿para qué vale una lista?) y mi respuesta, evidentemente, para adpatarse a la pregunta, también ha de serlo.
En cuanto al punto 3, quizá la palabra "proceso" no sea la adecuada. Me refiero a que el mecanismo de las pilas se utiliza en la arquitectura de un ordenador para realizar muchas tareas. Por ejemplo, a poco que conozcas de programación (en cualquier lenguaje), sabrás que para las llamadas a funciones se utilizan pilas, de forma que el programa cuando retorna de éstas, continua por la última que fue llamada y así, siguiendo, hasta la primera. No sé si me explico
Y por último, en cuanto a lo del colaborador ENdos, decirte que por aquí, ahora mismo tienes gente tan buena o mejor.
Saludos
Sebas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A ver Azulito

Publicado por Pascual (1 intervención) el 02/09/2003 17:36:32
Obviamante que las listas emplean punteros, pero el tema es que no se puede decir (como causa MUY importante ) que sirven para entender los punteros. Que hacen uso de ellos es correcto.

"Para que valen las listas" te parece una pregunta GENERICA ? Seguro tienen muchas aplicaciones que evidentemente sabes mejor que yo, el tema era exponer SOLO UN EJEMPLO concreto.

Todavia no me respondiste lo de acceder instantaneamente a un elemento de una lista.

Saludos

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A ver Azulito

Publicado por BluSky (11 intervenciones) el 03/09/2003 01:04:16
Pues sigo insistiendo en que ayudan a conocer los punteros y si no... ¿para qué siguen presentes en los temarios de informática?
Una utilidad concreta de una cola?. Pues, sin complicarme/te la vida: la carga de un fichero a memoria. Que tienes, incluso, la posibilidade de organizarlo ordenadamente; lo que te permitirá acceder mucho más rápidamente a su contenido
En cuanto acceder instantaneamente..... a qué le llamas ¿instantaneamente?. Tampoco creo que la principal necesidad de una lista sea el tiempo de acceso (sin duda muchísimo menor que el de disco).
Saludos
Sebas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A ver Azulito

Publicado por chuidiang (677 intervenciones) el 03/09/2003 10:03:14
Un ejemplo es un chat.
En el chat el programa servidor del chat debe guardar los datos de todos los usuarios del chat (al menos, la conexion que tiene con ellos, aunque puede guardar cosas como el alias, color de texto para ese usuario, etc.).
Los usuarios entran y salen continuamente y puede haber desde ninguno hasta 300 o más todos a la vez.
Si el servidor guarda estos datos en un array, cada posicion del array para un usuario, tiene las siguientes pegas (de eficiencia, principalmente)
- Numero de usuarios limitado al tamaño del array. Si no se quiere limitar, cuando entre un usuario nuevo y no quepa en el array, hay que hacer un array mas grande, copiar todos los datos del array antiguo y añadir el nuevo.
- Cuando sale un usuario, debe buscarlo y borrarlo del array. Para borrar un item del array o lo marcas como no valido (con un flag, con un valror de conexion igual a -1 o cualquier otra forma), o mueves el resto del array una posicion hacia el principio.
- Cuando entra un usuario, hay que añadirlo. Si decidiste borrar usuarios marcando las posiciones del array como no validas, debes recorrer el array buscando una posicion vacia (marcada como no valida)
- Cuando un usuario escribe algo, debes transmitirlo a todos los demas. Debes recorrer el array verificando si las posiciones son o no validas antes de enviar el texto.

Todo esto se evita con una lista.
- Añadir un usuario nuevo es inmediato insertandolo al principio de la lista, y no hay limite, salvo el de la memoria.
- Eliminar un usuario hay que buscarlo en la lista (igual que harías en el array), pero lo borras facilmente cambiando un par de punteros de sitio.
- Cuando un usuario escribe algo%2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:A ver Azulito

Publicado por Pascual (1 intervención) el 04/09/2003 13:55:29
Azulin: un el primer post escribist: "para acceder inmediatamente a cada elemento que necesites". Y yo puse "instantaneamente" . Entonces le llamo "instantaneamente" a lo que tu "inmediatamente".

Como realizas lo de "inmediatamente" ?

Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar