From 1cb6c02624ebcc09db2c14fac85cc8f4c8beb5e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Gonz=C3=A1lez=20Pardo?= <33945793+AdrianPardo99@users.noreply.github.com> Date: Wed, 7 Mar 2018 07:38:02 -0600 Subject: [PATCH] Uso de la TDA Cola MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Que hace uso de su definición y notación. --- QueueCode/Programa.c | 11 ++++++----- QueueCode/TDAQueue.h | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 QueueCode/TDAQueue.h diff --git a/QueueCode/Programa.c b/QueueCode/Programa.c index 139dcfa..1c22421 100644 --- a/QueueCode/Programa.c +++ b/QueueCode/Programa.c @@ -1,9 +1,10 @@ #include #include -#include "Cola.h" +#include "TDAQueue.h" int main(){ - Cola c=formar(formar(formar(nueva(),"a"),"b"),"c"); - impLista(c); - c=desformar(c); - impLista(desformar(c)); + Cola q=formar(formar(formar(formar(nueva(),"a"),"b"),"c"),"d"); + impElem(primero(q)); + q=desformar(q); + impElem(primero(q)); + impElem(primero(desformar(q))); } diff --git a/QueueCode/TDAQueue.h b/QueueCode/TDAQueue.h new file mode 100644 index 0000000..f54426f --- /dev/null +++ b/QueueCode/TDAQueue.h @@ -0,0 +1,37 @@ +#include "Elem.h" +typedef struct Nodo{ + Elem dato; + struct Nodo *sig; +}*ApNodo; +typedef struct CNodo{ + ApNodo prim; + ApNodo ult; +}*Cola; +Cola nueva(){ + Cola t=(Cola)malloc(sizeof(struct CNodo)); + t->prim=t->ult=NULL; + return t; +} +int esNueva(Cola q){return (q->prim==NULL)&&(q->ult==NULL);} +Cola formar(Cola q,Elem e){ + ApNodo t=(ApNodo)malloc(sizeof(struct Nodo)); + t->dato=e; + if(esNueva(q)){ + q->prim=q->ult=t; + t->sig=NULL; + }else{ + q->ult->sig=t; + q->ult=t; + t->sig=NULL; + } + return q; +} +Elem primero (Cola q){return q->prim->dato;} +Cola desformar(Cola q){ + if(q->prim==q->ult){ + q->prim=q->ult=NULL; + }else{ + q->prim=q->prim->sig; + } + return q; +}