void STdeleteMax(link head) { if (STcount(head) == 0) printf("Underflow"); exit(1); if (!head->l->red && !head->r->red) head->red = 1; head = deleteMax(head); if (STcount(head) > 0) head->red = 0; }
void printStatistics() { int ntokensd = STcount(); /* chaves sao tokens */ int nlemasd = ST2count(); /* chaves sao lemmas */ ntokens += ntokensd; /* Contamos o excesso em storeMeta() */ nwordsd += nwords; /* Contamos ambos os valores em storeMeta() */ /* Dados que vieram da leitura */ printf("Numero de sentencas: %d\n",nsentences); printf("Numero total de tokens: %d\n",ntokens); /* Fim dos dados que vieram da leitura */ printf("Numero total de palavras: %d\n",nwords); printf("Numero total de tokens distintos: %d\n",ntokensd); printf("Numero total de palavras distintas: %d\n", nwordsd); printf("Numero todas de lemas distintos: %d\n",nlemasd); }
/* Percorre T1 ordenadamente */ void printTokens(int onlyWords) { int n = STcount(); int i; Item item; printf("n=%d\n",n); for(i=0;i<n;i++) { item = STselect(i); if(!onlyWords) printf("%s\n",item->word); else if(is_word(item->word)) printf("%s\n",item->word); } }
void STdelete(link head, Key v) { if (!head->l->red && !head->r->red) head->red = 1; head = deleteR(head, v); if (STcount(head) > 0) head->red = 0; }