TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Implementando Uma Pilha em c

Por:   •  26/3/2021  •  Trabalho acadêmico  •  677 Palavras (3 Páginas)  •  124 Visualizações

Página 1 de 3

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct node

{

int info;

struct node *ant;

} node;

typedef struct Pilha {

node * topo;

} Pilha;

Pilha * P;

void cria (Pilha * P) {

P->topo = NULL;

} void push (Pilha * P, int x){

node * p;

node * aux;

node * proximo;

proximo = NULL;

aux = NULL;

p = (node *) malloc (sizeof (node));

if (p == NULL){

printf ("Erro de alocacao!");

exit (1);

}else{

p->info = x;

if (P->topo == NULL){

p->ant = NULL;

P->topo = p;

}else{

aux = P->topo; //vai procurar o lugar correto pra inserir o elemento

while(aux != NULL && aux->info > x ){

proximo = aux;

aux = aux->ant;

} // se tiver que inserir no começo

if (aux == P->topo) {

p->ant = P->topo;

P->topo = p;

} // se for no final

else if (aux == NULL) {

proximo->ant = p;

p->ant = NULL;

} // se for no meio

else {

p->ant = aux;

proximo->ant = p;

}

}

proximo = NULL;

aux = NULL;

}

}

void converte (char string[], Pilha * P) {

...

Baixar como (para membros premium)  txt (2.1 Kb)   pdf (35.3 Kb)   docx (8.7 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com