CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: honey_iris20 en Viernes 6 de Mayo de 2005, 02:06
Título: Listas Enlazadas En C#
Publicado por: honey_iris20 en Viernes 6 de Mayo de 2005, 02:06
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:
Título: Re: Listas Enlazadas En C#
Publicado por: JuanK en Viernes 13 de Mayo de 2005, 20:05
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.
Título: Re: Listas Enlazadas En C#
Publicado por: niofis en Jueves 16 de Junio de 2005, 21:59
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
class Elemento
{
Elemento anterior;//Si lo necesitas
//Otros valores o datos que necesites
Elemento siguiente;
}
Despues lo unico que tienes que poner en tu programa seria un codigo parecido a esto:
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
//...
Elemeno tmp=lista_primero;
lista_primero=new Elemento();
lista_primero.siguiente=tmp;
//...
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)
Título: Re: Listas Enlazadas En C#
Publicado por: Lasker_11 en Martes 9 de Diciembre de 2008, 17:01
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.