Sunteți pe pagina 1din 6

EJEMPLOS DE PILAS

Manzana
Pltano

Pltano
==rotar a la derecha==>

Fresa

Fresa

Manzana

Fresa
Pltano

Manzana
==rotar a la izquierda==>

Fresa

Manzana

ENTRADA
1
2
+
4
*
3
+

Pltano

OPERACIN
Apilar operando
Apilar operando
Aadir
Apilar operando
Multiplicar
Apilar operando
Aadir

PILA
1
1, 2
3
3, 4
12
12, 3
15

EJEMPLOS DE LISTA
1. Ejemplo: lista del curso: En una lista el acceso a los elementos se hace
siempre a partir del anterior (excepto el primero). Luis Juan
2. struct lista { int clave; struct lista *sig; }; Cuando se crea una lista debe estar
vaca. Por tanto para crearla se hace lo siguiente: struct lista *L; L = NULL;
3. #include struct lista{ int clave; struct lista *sig; }; int main(void){ struct lista
*L; struct lista *p; int i; L = NULL; /* Crea una lista vacia */ for (i = 4; i >= 1;
i--) { /* Reserva memoria para un nodo */ p = (struct lista *)
malloc(sizeof(struct lista)); p->clave = i; /* Introduce la informacion */ p->sig
= L; /* reorganiza */ L = p; /* los enlaces */

EJEMPLOS DE FILAS.

Ejemplos de arreglos

Ejemplos Arreglos Unidimensionales Resolvamos este primer ejemplo:


(ejemplo 1) Cargar 10 elementos en un vector, sumarlos y mostrar el
resultado por pantalla. Pasos para resolver este problema: Leer un vector de
10 elementos Sumar los elementos Mostrar el resultado de la suma por
pantalla

Ejemplos Arreglos Unidimensionales Program Ejemplo1; {Version 1} type


sumandos = array[1..10] of integer; Declaracin del tipo arreglo var suma, i :
integer; vec_sumandos : sumandos; Declaracin de la variable arreglo
begin suma := 0; for i:= 1 to 10 do read(vec_sumandos[i] ) Lectura de los
elementos del arreglo for i := 1 to 10 do suma:= suma +vec_sumandos[i];
Suma de los elementos writeln (La suma de los nmeros es, suma); end.
Ejemplos Arreglos Unidimensionales Program Ejemplo1; {Version 2} type
sumandos = array[1..10] of integer; var suma, i : integer; vec_sumandos :
sumandos; begin suma := 0; for i:= 1 to 10 do begin read(vec_sumandos[i] )
suma:= suma +vec_sumandos[i]; end; writeln (La suma de los nmeros es
, suma); end.

Inicializacin

Por defecto: Cuando son creados, se aplica solamente a


arreglos globales y estticos
Explcita: Cuando son creados, suministrando datos de
iniciacin
En ejecucin: Durante ejecucin, cuando se asignan o
copian datos al arreglo.
Ejemplos
double scores[5] = {5.5, 6.7, 9.8, 10.0, 8.7};
int estado[3] = {-1, 0, 1};
char alfabeto[] = {a, b, c, d, e, f, \0};
char vocales[10] = {a, e, i, o, u,\0};
El nombre del arreglo es la direccin de su primer elemento (base)
int v[50];
int *p;
p = v;

// Equivalente a p = &v[0];

*p = 5; // Equivalente a v[0] = 5;
p = p + 5; // Equivalente a p = &v[5];
*p = 9; // Equivalente a v[5] = 9;
double x[40];
int i;
for (i = 0; i < 40; i++)
x[i] = 1.0;
for (i = 0; i < 40; i++)
*(x + i) = 1.0;

double *p, x[40];


int i;
p = x;
for (i = 0; i < 40; i++)
p[i] = 1.0;
for (i = 0; i < 40; i++)
*(p + i) = 1.0;
for (i = 0; i < 40; i++, p++)
*p = 1.0;

Ejemplo:
char *p = ejemplo;

La variable puntero p obtiene la direccin del


primer elemento en el arreglo (e). El compilador
coloca un carcter null al final del arreglo

char localnombre [10];


strcpy(localnombre, PEPITO);


int string_length(char* x) {
int l = 0;
while (*x ) {
x++;
l++;
}
return l;
}

Copiamos la constante de caracteres en el


arreglo local
int string_length(char* x) {
int l = 0;
while (*(x++))
l++;
return l;
}

S-ar putea să vă placă și