Dise - PowerPoint PPT Presentation

About This Presentation
Title:

Dise

Description:

{ registro cliente={'L zaro',3333,'A',33.33}; ajustar(&cliente); Estructuras Autorreferenciadas. A veces es deseable incluir dentro de una estructura un miembro que ... – PowerPoint PPT presentation

Number of Views:159
Avg rating:3.0/5.0
Slides: 14
Provided by: face2
Category:
Tags: ajustar | dise

less

Transcript and Presenter's Notes

Title: Dise


1
Diseño de algoritmosListas Enlazadas
Claudio Gutiérrez-Soto.
2
Ejemplo
  • void ajustar(registro pt)
  • pt-gtnombreJosé
  • pt-gtno_cuenta9999
  • pt-gttipo_cuentaR
  • pt-gtsaldo99.99
  • return

includeltstdio.hgt typedef struct char
nombre int no_cuenta char tipo_cuenta
float saldo registro void ajustar(registro
pt) main() registro clienteLázaro,3333,A
,33.33 ajustar(cliente)
3
Estructuras Autorreferenciadas
  • A veces es deseable incluir dentro de una
    estructura un miembro que sea un puntero a este
    tipo de estructura. En términos generales esto
    puede ser expresado como
  • struct marca
  • Miembro 1
  • Miembro 2
  • struct marca nombre

4
Estructuras Autorreferenciadas
  • La estructura no tiene un tamaño predefinido por
    lo que en general es más óptimo en cuanto a
    espacio. Además es simple de manipular por los
    punteros.

5
Estructuras Autorreferenciadas
  • La idea básica de una estructura de datos
    enlazada es que cada componente dentro de la
    estructura incluye un puntero indicando donde
    está el siguiente componente.

6
Estructuras Autorreferenciadas
  • También existen otras estructuras
    autorreferenciadas como los árboles. Los cuales
    pueden ser binarios (2 nodos) o n-arios.

7
Estructuras Autorreferenciadas
  • En el caso de una lista enlazada, la estructura
    principal puede ser vista como sigue
  • struct Lista
  • miembro 1
  • miembro 2
  • .
  • struct Lista sgte

8
Estructuras Autorreferenciadas
  • Para el caso de una lista que almacena números
    enteros, su respectiva estructura sería
  • struct Lista
  • int dato
  • struct Lista sgte

9
Estructuras Autorreferenciadas
  • Para el caso de un árbol binario que almacena
    números enteros, su respectiva estructura sería
  • struct arbol
  • int dato
  • struct arbol izq
  • struct arbol der

10
Estructuras Autorreferenciadas
  • Para el caso de un árbol N-ario que almacena
    números enteros, su respectiva estructura sería
  • define N 5
  • struct arbol
  • int dato
  • struct arbol HijosN

11
Estructuras Autorreferenciadas
  • Para todas estas estructuras, hay que definir las
    funciones de inserción, eliminación y otros.

12
Ejemplo de una Lista Enlazada
  • includeltstdio.hgt
  • includeltstdlib.hgt
  • define NULL 0
  • struct Lista
  • int dato
  • struct Lista sgte
  • typedef struct Lista Lista
  • typedef Lista Enlace
  • Enlace HeadNULL
  • Enlace insertar(Enlace nodo,int dato)
  • void imprimir(Enlace nodo)
  • main()
  • int n,i,dato
  • printf("Ingrese cuantos elementos desea
    agregar\n")
  • scanf("d",n)
  • for(i0iltni)

Enlace insertar(Enlace nodo,int dato)
if(nodoNULL) nodo(Enlace)malloc(sizeof(Lis
ta)) nodo-gtdatodato nodo-gtsgteNULL
else nodo-gtsgteinsertar(nodo-gtsgte,dato)
return(nodo) void imprimir(Enlace nodo)
if(nodo!NULL) printf(" dato-gt d
\n",nodo-gtdato) imprimir(nodo-gtsgte)
else printf("Null")
13
Preguntas?
Write a Comment
User Comments (0)
About PowerShow.com