[b] preciso fazer uma busca profundidade na lista e nao consigo AJUDA AEW
#include <stdio.h>
#include <stdlib.h>
typedef struct NO_adj{
int num;
float peso;
struct NO_adj *prox;
}NO_adj;
NO_adj* inserir(NO_adj *inicio, int num, float p){
NO_adj *aux;
aux=(NO_adj*)malloc(sizeof(NO_adj));
aux->num=num;
aux->peso=p;
if(inicio !=NULL){
aux->prox=inicio;
}
inicio=aux;
return inicio;
}
int main(){
struct pilha{
int n;
struct NO_adj *prox;
}
struct Fila{
struct NO_adj *i;
struct NO_adj *f;
}
NO_adj *graf[5];
int i;
for(i=0; i<5; i++){
graf[i]=NULL;
}
inserir(graf[0], 2, 1);
}
void imprime(NO_adj *ini){
NO_adj *aux;
aux=ini;
while(aux!=NULL){
printf("%d , %f",aux->num, aux->peso);
aux=aux->prox;
}
}
pilha* empilha(no_lista *p, int n){
NO_adj *aux;
aux=(NO_adj*)malloc(sizeof(NO_adj));
aux->n=n;
if(p!=NULL){
aux->prox=p;
}
else{
aux->prox=NULL;
}
return aux;
}
pilha* desempilha(pilha *p){
NO_adj *aux;
aux=p->prox;
free(p);
return(aux);
}
}
NO_adj* busca_prof ( NO_adj *graf[], int t, int ini){
pilha *p;
pilha=empilha(ini);
while(pilha=!NULL){
a=desempilha(pilha);
if(visit[a]=!1){
visit[a]=1;
printf("Visitado\n");
aux=graf[a];
}
while(aux=!NULL){
if(visit[aux->n=!1]){
empilha(aux->n);
}
aux=aux->prox;
}
}
}
Fila* insere_fila(Fila *fila, int n){
NO_adj *aux;
aux=(NO_adj*)malloc(sizeof(NO_adj));
aux->=n;
aux->prox=NULL;
if(fila->f==NULL){
fila->i=aux;
fila->f=aux;
}
else{
fila->f->prox=aux;
fila->f=aux;
}
return fila;
}
Fila* remove_fila(Fila *fila){
NO_adj *aux;
if(fila->i==fila->f){
free(fila->i);
fila->i=NULL;
fila->f=NULL;
}
else{
aux=fila->i;
fila->i=fila->i->prox;
free(aux);
}
return fila;
}
}
//}
}