Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo:
Revisarás las definiciones, características, procedimientos y ejemplos de las estructuras lineales Pila
y Cola, con la finalidad de que comprendas sus estructuras y puedas implementarlas.
Ejercicio:
Programa de Nodo.h:
#include <stdlib.h>
struct Nodo_
int Dato;
};
n->Dato= Dato;
n->Sig= NULL;
return n;
n->Dato= Dato;
n->Sig= Sig;
return n;
}
Programa de Lista.h:
#include "nodo.h"
struct Lista_
Nodo *head;
Nodo *tail;
size_t length;
};
Lista * initList()
Lista *l = (Lista*)malloc(sizeof(Lista));
l->head = NULL;
l->tail = NULL;
l->length = 0;
if (l->length ==0 )
l->tail=aux;
l->head=aux;
l->length++;
}
Programa de cola.h:
#include "Nodo.h"
struct Cola_{
Nodo *head;
Nodo *tail;
size_t size;
};
Cola *initCola(){
Cola *c=(Cola*)malloc(sizeof(Cola));
c->head=NULL;
c->tail=NULL;
c->size=0;
Cola * aux=initNodoD(Dato);
if(c->size==0){
c->head=aux;
c->tail=aux;
return;
c->tail->Sig=aux;
c->tail=aux;
c->size++;
int desencolar(Cola*c){
if(c->size==0){
int aux=c->tail->Dato;
Nodo* des=c->head;
c->head=c->head->Sig;
des->Sig=NULL;
if(c->size==1){
c->tail=NULL;
free(des);
c->size--;
return aux;
void imprimir(Cola*c){
Nodo *aux=c->head;
while(aux!=NULL){
printf("%d",aux->Dato);
aux=aux->Sig;
Programa de pila.h:
#include "Nodo.h"
struct Pila_{
Nodo *head;
Nodo *tail;
size_t size;
};
Pila *initPila(){
Pila *p=(Pila*)malloc(sizeof(Pila));
p->head=NULL;
p->tail=NULL;
p->size=0;
Pila *aux;
aux=initNodoDS(Dato,p->head);
p->head=aux;
p->size++;
if(p->size==1){
p->tail=aux;
int pop(Pila*p){
if(p->size==0){
int aux=p->tail->Dato;
p->head=p->head->Sig;
p->Sig=NULL;
if(p->size==1){
p->tail=NULL;
free(q);
p->size--;
return aux;
void imprimir(Pila*p){
Nodo *aux=p->head;
while(aux!=NULL){
printf("%d",aux->Dato);
aux=aux->Sig;
}