26/04/2022, 10:49
27/04/2022, 05:13
27/04/2022, 13:56
void HTtoArray_range(THT* ht, TArray* array, TKey min, TKey max) {
TList list = listCreate();
TInfo imin = {min}, imax = {max};
for (int i = 0; i < ht->n_bucket; i++)
for (TNode *node = ht->bucket[i]; node != NULL; node = node->link)
if (!infoLess(node->info, imin) && !infoGreater(node->info, imax))
arraySet(ht, array->info.key, array->info.value);
ht = HTdelete(ht, ht->info);
}
27/04/2022, 17:03
for (int i = 0; i < ht->n_bucket; i++)
{
for (TNode *node = ht->bucket[i]; node != NULL; node = node->link)
{
if (node->info.key >= min && node->info.key <= max)
{
arrayAdd(array, node->info);
}
}
}
>
e <
se i limiti vanno esclusi. Poi basta che iteri sull'array ed elimini dentro la hash table usando le key.void
HTtoArray_range2(THT *ht, TArray *array, TKey min, TKey max)
{
for( TKey key = min; key <= max; key++ )
{
TValue* value = HTsearch (ht, min);
if( value )
{
TInfo info;
info.key = key;
info.value = *value;
arrayAdd(array, info);
HTdelete(ht, key);
}
}
}
28/04/2022, 07:48
28/04/2022, 18:34
09/05/2022, 17:35
void printOrderedArray_exemptions(TArray* array) {
int i;
TList list_ord = listCreate();
for(i=0; i<array->length; i++){
list_ord = listInsert(list_ord, array->items[i]);
}
}
09/05/2022, 17:36
apatriarca ha scritto:Quali difficoltà incontri nella comprensione dei concetti? Forse ti possiamo aiutare.
09/05/2022, 18:02
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;
}
10/05/2022, 16:22
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.