Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementacao da Pilha Simples Denis R. S. Pinheiro September 29, 2013 #inc lude <s t d i o . h> #inc lude <s t d l i b . h> s t r u c t no { i n t i n f o ; s t r u c t no∗ prox ; } ; typede f s t r u c t no No ; s t r u c t p i l ha { No∗ i n i ; } ; typede f s t r u c t p i l ha Pi lha ; Pi lha ∗ c r i a ( void ) ; void i n s e r e ( Pi lha ∗ f , f l o a t v ) ; f l o a t r e t i r a ( Pi lha ∗ f ) ; i n t vaz ia ( Pi lha ∗ f ) ; void l i b e r a ( Pi lha ∗ f ) ; void imprime ( Pi lha ∗ f ) ; i n t main ( ){ Pi lha ∗ f = c r i a ( ) ; i n s e r e ( f , 1 ) ; i n s e r e ( f , 2 ) ; i n s e r e ( f , 3 ) ; 1 i n s e r e ( f , 4 ) ; i n s e r e ( f , 5 ) ; i n s e r e ( f , 6 ) ; imprime ( f ) ; r e t i r a ( f ) ; imprime ( f ) ; i n s e r e ( f , 7 ) ; i n s e r e ( f , 8 ) ; i n s e r e ( f , 9 ) ; r e t i r a ( f ) ; imprime ( f ) ; p r i n t f (”\n ” ) ; l i b e r a ( f ) ; r e turn 0 ; } Pi lha ∗ c r i a ( void ){ Pi lha ∗ f = ( Pi lha ∗) mal loc ( s i z e o f ( Pi lha ) ) ; f−>i n i = NULL; re turn f ; } No∗ i n s i n i ( Pi lha ∗ f , f l o a t v ){ No∗ p = (No∗) mal loc ( s i z e o f (No ) ) ; p−>i n f o = v ; p−>prox = f−>i n i ; i f ( f−>i n i == NULL) p−>prox = NULL; re turn p ; } void i n s e r e ( Pi lha ∗ f , f l o a t v ){ f−>i n i= i n s i n i ( f , v ) ; } No∗ r e t i n i (No∗ i n i ){ 2 No∗ p = in i−>prox ; f r e e ( i n i ) ; r e turn p ; } f l o a t r e t i r a ( Pi lha ∗ f ){ f l o a t v ; i f ( vaz ia ( f ) ){ p r i n t f (” Pi lha vaz ia .\n ” ) ; e x i t ( 1 ) ; } v = f−>i n i−>i n f o ; f−>i n i = r e t i n i ( f−>i n i ) ; r e turn v ; } i n t vaz ia ( Pi lha ∗ f ){ r e turn ( f−>i n i == NULL) ; } void l i b e r a ( Pi lha ∗ f ){ No∗ q = f−>i n i ; whi l e ( q != NULL){ No∗ t = q−>prox ; f r e e ( q ) ; q = t ; } f r e e ( f ) ; } void imprime ( Pi lha ∗ f ){ No∗ q ; p r i n t f (”\n\nPilha : ” ) ; f o r ( q = f−>i n i ; q != NULL; q = q−>prox ) p r i n t f (”\n\ t%d ” ,q−>i n f o ) ; } /∗ ∗ By : Denis P inhe i ro . Todos os d i r e i t o s r e s e rvados . 3 ∗ 17 :05 :2013 ∗/ 4
Compartilhar