Exercico 5
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct NoCovidCV{
char ilha[20];
int totalCovid;
struct NoCovidCV *esq;
struct NoCovidCV *dir;
}NoCovidCV;
NoCovidCV *criarNo(char ilha[20], int totalCovid){
NoCovidCV* novo = (NoCovidCV*)malloc(sizeof(NoCovidCV));
// inicialização
novo->totalCovid = totalCovid;
strcpy(novo->ilha, ilha);
// rega
novo->esq = NULL;
novo->dir = NULL;
// novo->esq = novo->dir = NULL;
return novo;
}
void inserirCovid(NoCovidCV* *arvore, char ilha[20], int totalCovid){
if(*arvore == NULL){
*arvore = criarNo(ilha, totalCovid);
} else if( strcmp(ilha, (*arvore)->ilha ) < 0 ){
inserirCovid( &(*arvore)->esq ,ilha,totalCovid);
} else if( strcmp(ilha, (*arvore)->ilha) > 0){
inserirCovid( &(*arvore)->dir, ilha, totalCovid);
} else {
printf("Ilha já existe!\n");
}
}
void InOrdem(NoCovidCV* arvore){
if(arvore == NULL) return;
InOrdem(arvore->esq);
/// Imprimir dados
printf("Ilha: %s\n", arvore->ilha);
printf("Total Covid: %d\n\n", arvore->totalCovid);
/// Imprimir dados
InOrdem(arvore->dir);
}
int main()
{
NoCovidCV *raiz = NULL; // IMPORTANTE
inserirCovid(&raiz, "Santago", 0);
inserirCovid(&raiz, "Fogo", 0);
inserirCovid(&raiz, "Sal", 0);
inserirCovid(&raiz, "Maio", 0);
inserirCovid(&raiz, "Brava", 0);
inserirCovid(&raiz, "S. Antão", 0);
inserirCovid(&raiz, "S. Vicente", 0);
inserirCovid(&raiz, "Boavista", 0);
inserirCovid(&raiz, "S. Nicolau", 0);
inserirCovid(&raiz, "St Luzia", 0);
InOrdem(raiz);
return 0;
}