Estructuras
Guarda la dirección de un objeto (variable, nodo, etc.).
Tipo de Dato *nombre_variable
int *pfloat *aux
char *ch
Sea:
int i, j, *ap, *temp;
Si i = 8; J = 2 ;
ap = &i ; temp = &j ;/* asigna direcciones a ap y temp */
*temp = *ap * j + 3;
*ap = *temp / 10 + * ap;
¿ Que valores quedaron en i y j ?
i =
j =
Listas encadenadas:Cada elemento contiene dentro de si mismo la dirección del elemento siguiente. Cada elemento se llama nodo y consiste de 2 campos uno de información y otro de dirección al siguiente nodo(next).Esta dirección se denomina apuntador.
dato next dato next dato next
50 100200
inicial
La variable apuntador inicial, contiene la dirección del primer nodo.
El campo next del último nodo contiene un valor especial “null” el cual no esuna dirección valida e indica fin de la lista.
If inicial = null then ´lista vacia´
Definición de un nodo:
struct nodo {
int dato
struct nodo *next }
Como se obtiene la direcciónde un nodo en C:
inicial = (struct nodo*) malloc (sizeof (struct nodo) )
/* inserta un nodo en la lista */
struct nodo {
int dato
struct nodo *next }
struct nodo *ultimo = null ,*inicial = null, *nuevo = null;
void insertar (int x, struct nodo *nuevo)
{
If (ultimo == null ) /* inserta ____________________ de la Lista */
{
nuevo->next =null;
nuevo->dato = x;
inicial = nuevo;
ultimo = nuevo;
}
Else
{
nuevo->dato = x;
nuevo-> next = ultimo->next;
ultimo-> next = nuevo;
ultimo =...
Regístrate para leer el documento completo.