Estudiante

Solo disponible en BuenasTareas
  • Páginas : 2 (374 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de noviembre de 2010
Leer documento completo
Vista previa del texto
LISTAS ORTOGONALES

Ing. J.A.Cañedo

DESCRIPCIÓN.
Las listas ortogonales son estructuras que se emplean en el área de ingeniería donde se manejan matrices demasiado grandes. Al trabajar coneste tipo de estructuras, estamos hablando de una gran cantidad de elementos, donde dichos elementos se pueden crear, modificar e incluso destruir cuando lo desee, lo que no sucede con los arreglos yaque estos son estáticos esto es que durante toda la ejecución del programa serán siempre del mismo tamaño, teniendo como consecuencia un desperdicio de memoria, si la totalidad de los elementos delarreglo no fueron utilizados, o en el caso contrario de que se requiere más elementos de los que tiene declarados. Es por eso de que surgen las listas ortogonales en donde se puede manejar la longitud dela matriz.
2
Ing. J.A.Cañedo

REPRESENTACIÓN GRAFICA DE UN NODO DE UNA L.O.
Cada nodo de una lista ortogonal esta compuesto por un campo dato y por cuatro campos de tipo apuntado así como semuestra en la siguiente figura:

arr der dato izq aba
Ing. J.A.Cañedo

3

REPRESENTACIÓN GRAFICA DE UNA L.O.C.
Una lista ortogonal seria:
Nodos de encabezamientos

*

*

*

Nodos deencabezamientos
*
2 3 4

*

1

5

7

*

9

2

6

Ing. J.A.Cañedo

4

ALG QUE CREA UNA L.O.C.
void CreaListOrt() { int nr, nc; int i,j, x,y; nodo *p, *q, *c, *r; tren=NULL;tcol=NULL; printf("Numero de Renglones=");scanf("%d",&nr); printf("Numero de Columnas=");scanf("%d",&nc); for(i=1; idato='*'; p->arr=p; p->aba=p; if(tcol==NULL) { tcol=p; tcol->der=tcol; tcol->izq=tcol; }else { p->der=tcol; p->izq=tcol->izq; p->der->izq=p; p->izq->der=p; } } for(j=1; jdato='*'; p->izq=p; p->der=p; if(tren==NULL) { tren=p; tren->aba=tren; tren->arr=tren; } else { p->aba=tren;p->arr=tren->arr; p->aba->arr=p; p->arr->aba=p; } } }

c=tcol; r=tren; for(i=1; ider=r; p->izq=r->izq; p->der->izq=p; p->izq->der=p; p->aba=c; p->arr=c->arr; p->aba->arr=p; p->arr->aba=p; c=c->der; }...
tracking img