• Sábado 27 de Abril de 2024, 03:16

Autor Tema:  Listas Enlazadas En C#  (Leído 15248 veces)

honey_iris20

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Listas Enlazadas En C#
« en: Viernes 6 de Mayo de 2005, 02:06 »
0
Hola tengo un proyecto de listas enlazadas para c# con punteros y quisiera saber si me pueden ayudar, necesito un ejemplo más o menos de cómo insertar un nodo ya sea al principio o al final ó antes/después como ustedes gusten. No sé mucho de manejo de listas con punteros asi es q cualquier información será bien recibida.

Gracias de Antemano.
Irina :comp:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Listas Enlazadas En C#
« Respuesta #1 en: Viernes 13 de Mayo de 2005, 20:05 »
0
que raro?
estas xeguro que te pidieron manejar listas con punteros en C#.NET... me late que te lo pusieron en C++ o en C.

Verifica por favor.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

niofis

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Listas Enlazadas En C#
« Respuesta #2 en: Jueves 16 de Junio de 2005, 21:59 »
0
Hola, para el trabajo que quieres hacer con punteros en C# es sencillo si se utilizan punteros administrados (referencias), ya que si te pones con punteros no administrados puedes tener mas problemas.

Pero es sencillo lo que quieres hacer, simplemente tienes que crear una clase que tenga un elemento del su mismo tipo donde vas a poder ligarlo con el siguiente elemento, y si es una lista doblemente ligada pues usas dos.

Código: Text
  1.  
  2. class Elemento
  3. {
  4.      Elemento anterior;//Si lo necesitas
  5.     //Otros valores o datos que necesites
  6.     Elemento siguiente;
  7. }
  8.  
  9.  
Despues lo unico que tienes que poner en tu programa seria un codigo parecido a esto:
Código: Text
  1.  
  2. //...
  3. Elemento lista_primero,lista_actual=new Elemento();
  4. lista_primero=lista_actual;
  5. //...
  6.  
  7.  
con eso creas la lista, después para ir insertando elementos lo unico que tienes que hacer es lo siguiente:
Código: Text
  1.  
  2. //...
  3. lista_actual=lista_actual.siguiente=new Elemento();
  4. //...
  5.  
  6.  
y de esa forma vas creando elementos nuevos que se van a ir insertando al final de la lista.

Para insertar uno al principio es facil también:
Código: Text
  1.  
  2. //...
  3. Elemeno tmp=lista_primero;
  4. lista_primero=new Elemento();
  5. lista_primero.siguiente=tmp;
  6. //...
  7.  
  8.  

Y por ultimo, para insertar un elemento en alguna posición arbitraria lo único que tienes que hacer es irte al primer elemento de la lista e ir iterando hacia los elementos siguientes hasta que encuentres la posición donde quieres que se quede el elemento a insertar. Una vez ahí el elemento anterior al nuevo apuntará al elemento nuevo, y el elemento siguiente del nuevo apuntara al resto de la lista. Hay que tener cuidad de no  pasarse en las iteraciones, cheka que el elemento al que te vayas a mover en la siguiente iteracion no sea null, o tendras error de acceso de memoria.

nota...casi no me gustan los punteros seguros(administrados)

Lasker_11

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Listas Enlazadas En C#
« Respuesta #3 en: Martes 9 de Diciembre de 2008, 17:01 »
0
Muy parecido a Java, solo que en el vez de usar dos clases por que no usar dos constructores para la clase?. O estoy extrapolando mucho java?
De todas formas las listas tienen un manejo similar en cada lenguaje.