• Sábado 20 de Abril de 2024, 03:24

Autor Tema:  ¿no Hay Una Clase "lista Enlazada"?  (Leído 2236 veces)

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
¿no Hay Una Clase "lista Enlazada"?
« en: Martes 18 de Mayo de 2004, 19:11 »
0
Saludos a todos de un novato en este foro,
pues nada, tal vez empiece fuerte,pero ahi va la pregunta:

¿No hay una clase, o un Template o algo parecido  que sea una lista enlazada?

Ya se que hay muchas preguntas contestadas por ahi, incluso tengo una clase a medias, pero es que quiero que los datos de la lista sean componentes, por ejemplo un SpeedButton y tengo el problema de que el constructor me pide parametros que no se darle, por que no se donde sacarlos.

Por cierto, si puede ser la respuesta que sea para hacerlo con CLX y no VLC, es para pasarlo despues a kylix.

Gracias adelantadas.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #1 en: Martes 18 de Mayo de 2004, 20:15 »
0
Hola amigo :

Mira, no es necesario ser "novato" para eso, ya hace tiempo que programo y aunque no la utilizo mucho porque me gusta definir mis estructuras y clases se que son importantes estas cosas, el compilador C++ Builder [trabajo la version 6] tiene una biblioteca estandar con miles de algoritmos y procedimientos bien diseñados por profesionales que pueden ayudarte a resolver miles de problemas, algunos muchos que se han posteado aqui, pero una de las cosas fundamentales es que se incluyen tambien las definiciones de las estructuras de datos mas utilizadas en cualquier lenguaje de programacion [entre ellas estan la pila, cola, lista y ademas tambien los arboles] en todas sus variantes, estas estan en la llamada stl.h [o la .hpp, cada una tiene una Unit independiente ->Stack.h, List.h .....] segun el caso, puedes buscar en la ayuda mas informacion sobre eso, es importantisimo este tema, te lo aseguro !!!!!!!!



Salu2,

 :hola:  :smartass:  :lol:  :D

LordFord
~ Si quieres que algo en la vida te salga bien]~

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #2 en: Miércoles 19 de Mayo de 2004, 10:16 »
0
Yo mismo otra vez, para que se sepa si funciono o no
al final, y despues de mirar y "remirar" la ayuda encontre algo parecido a lo que buscaba:
el component TList, esto no me quito el problema del constructor de SpeedButton, pero me hice una clase propia con un constructor propio, al que le paso el dichoso TComponent que me pide TSpeedButton,
la lista la hago con TList, no se si es la solución más elegante, pero funciona y la verdad que, aunque ocupa más memoria que si lo haces tu, el TList funciona de maravilla y la velocidad apenas se nota.

De nuevo gracias.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #3 en: Miércoles 19 de Mayo de 2004, 16:33 »
0
Hola :

mira, el componente TList puede que no sea el mejor, pero busca bien el contenido de la STL (Standard Template Library), aqui tienes todo tipo de algoritmos y clases de las que te hable, TODAS son genericas y las puedes inicializar para cualquier tipo de datos, inclusive de forma anidada,  un ejemplo de lo que quieres con la pila (stack) seria asi:

stack<TSpeedButton*> * myStack = new stack<TSpeedButton*> ;

Asi estarias creando una pila de elementos TSeeedButton*, busca en la ayuda que biene muy claro, estas clases y algoritmos son muy utiles a la hora de programar !!!!!!!!

Por ejemplo estas clases estan en la STL:
vector, list, deque,   set, multiset, bitset, stack, queue, priority queue

Todas GENERICAS .....


Salu2,

 :hola:  :smartass:  B)  :rolleyes:  :D

LordFord
~ Si quieres que algo en la vida te salga bien]~

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #4 en: Miércoles 19 de Mayo de 2004, 16:56 »
0
Gracias Lordfor,
pero es que no es una pila de "solo SpeedButton", lleva mas cosas, un TLavel, dos enteros, un TAnsiString y más cosas que ahora no recuerdo.
por eso lo de crear una clase nueva, que contenga los datos, con su constructor y tal.
Lo de que TList no sea la más adecuada es posible, pero de momento quiero avanzar en el programa, en la "fase de optimización" ya vere si la cambio o la dejo, por que, como bien dices, hay un montón de posibilidades, de todas maneras gracias.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #5 en: Viernes 21 de Mayo de 2004, 04:34 »
0
Ok, lo que pasaba era que no explicabas en tus mensajes que la lista era de elementos varios, asi si tienes que implementar una clase que se acerque a lo que deseas o puede ser una estructura, de todas formas espero que termines tu programa.

Salu2,

 :smartass:  :hola:  :lol:  :D

LordFord
~ Si quieres que algo en la vida te salga bien]~

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: ¿no Hay Una Clase "lista Enlazada"?
« Respuesta #6 en: Viernes 21 de Mayo de 2004, 09:05 »
0
gracias, la verdad es que con la lista ya hecha he avanzado bastante hacia donde queria llegar, que son los sockets, ya preguntare sobre ello
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?