Listas
} célula;
Typedef struct lista { Célula elemento; Struct lista *prox;
} Tlista;
Typedef Tlista *Plista;
Plista inicializalista(){ Return NULL;
};
Plista inserir(Plista l, célula elemento){
Plista novo=(Plista)malloc(siseof(Tlista)); If (l==NULL){ novo->elemento.codigo=elemento.codigo; novo->prox=NULL; } else { novo->elemento.codigo=elemento.codigo; novo->prox=l; }
Return novo;
}
Void imprimir(Plista l){ Plista p; For (p=l;p!=NULL;p=p->prox){ Cout elemento.codigo==n){ Return p; } }
Return NULL;
}
Plista remove(Plista l, int código){ Plista p1, p2; Plista ant=NULL; P1=busca(l, código); For (p2=l;p2!=NULL && p2!=p1;p2=p2->prox) Ant=p2; If(p2==NULL){ Return l; If (ant=NULL) L=l->prox; Else ant->prox=p2->prox; free(p2); free(p1); return l;
}
Typedef struct No{ Int valor; Struct No* prox;
} TipoNo;
Typedef struct Pilha { TipoNo *topo; Int tamanho; Tpilha;
Typedef Tpilha *Ppilha;
Ppilha inicializapilha(){ Ppilha pilha=(Ppilha)malloc(sizeof(Tpilha)); Pilha->tamanho=0; Return pilha;
};
Void fpvazia (Ppilha pilha){ Pilha->topo=(TipoNo*) malloc(sizeof(TipoNo)); Pilha->topo->prox=NULL; Pilha->tamanho=0;
};
Int vazia(Ppilha pilha){ Return (pilha->topo->prox == NULL);
};
Void empilha(int x, Ppilha pilha){
TipoNo *aux;
Aux=(TipoNo*) malloc(sizeof(TipoNo));
Aux->valor=x;
Aux->prox=pilha->topo;
Pilha->topo=aux;
Pilha->tamanho++;
}
Int Desempilha(Ppilha pilha){ TipoNo *q; int v; If (vazia(pilha)){ Cout topo= q->prox;
V= q->valor;
Free(q);
Pilha->tamanho--;
Return v;
}}
Void imprime (Ppilha pilha){
TipoNo* aux;
Aux= pilha->topo;
Cout ini = f->fim = NULL; return (f);
}
structlista2 { int info; structlista2* ant; structlista2* prox;
}TLista2;
typedefTLista2 *PLista2;
PLista2 insere (PLista2 l,int v) {
PLista2 novo = (PLista2) malloc(sizeof(TLista2));