Comunque ho notato che questa funzione sposta tutti i pazienti con ID pari forse perchè ho inserito la divisione per 2 però il problema è non so come verificare l'ultima cifra
BSTtoHT_exemption(bst, ht): funzione RICORSIVA che copia da bst a ht tutti i
* pazienti con ID la cui ultima cifra sia 0, rimuovendoli da bst.
* Considerando l'ID, se un paziente di bst gia' esiste in ht esso non verra'
* duplicato (ma verra' comunque rimosso da bst).
- Codice:
TBST BSTtoHT_exemption(TBST bst, THT* ht) {
if (bst != NULL) {
bst->left = BSTtoHT_exemption(bst->left, ht);
bst->right = BSTtoHT_exemption(bst->right, ht);
if ((bst->info.key%2) == 0) {
HTinsert(ht, bst->info.key, bst->info.value);
bst = BSTdelete(bst, bst->info);
}
}
return bst;
}