У меня проблема, когда я хочу добавить элементы в отсортированную сумку, представленную односвязным списком и отношением. Так что это функция добавления:
void SortedBag::add(TComp e) {
Node** current = &this->head;
while (*current != nullptr && rel((*current)->value, e))
{
current = &(*current)->next;
}
if (*current == nullptr || rel(e, (*current)->value))
{
Node* new_node = new Node;
new_node->value = e;
new_node->freq = 1;
new_node->next = *current;
*current = new_node;
}
else
{
++(*current)->freq;
}
}
Но если мое отношение "<=", оно не будет увеличивать частоту этого элемента. Например, я добавляю 5,6,0,5, частота 5 будет еще 1 в конце. Может кто-нибудь помочь мне, пожалуйста? Кстати, я хочу сохранить отношение как "<=", потому что оно должно пройти некоторый тест с этим. Для "<" это работает. </p>