Forse ho dormito poco stanotte e ora sono poco reattivo, ma: se ho un while così
codice:
while (ml[i]->id < x.id) i++;
Che fa perfettamente il suo sporco lavoro.
Ora io avrei bisogno (per motivi troppo complessi da spiegare), che l'operatore di confronto sia un maggiore e non più un minore.
Cambiando l'operatore, invertirei il risultato logico del confronto, negando il tutto dovrei ottenere nuovamente il risultato come nel primo caso:
codice:
while (!(ml[i]->id > x.id)) i++;
Questo codice però, non so in quale punto mi manda in errore il programma. Perché? Non sono equivalenti i due codici???