Witam,
Mam problem: chcę wylosować parę liczb całkowitych. Ważne, aby ta para liczb losowała się bez powtórzeń. Na początku myślałem o tablicy dwuwymiarowej, ale uznałem że przeszukiwanie jej by zbyt dużo trwało, bo to tablica bajtów dla dużego pliku. Losowanie liczb w Qt oraz Sleep na bazie QThread mam już zrobione.
Mój pomysł był następujący:
a) Tworzę sobie strukture:
struct random_bit_array {
int byte;
int bit;
};
b) Losuje dwie liczby i umieszczam je w strukturze.
c) Jeżeli takiej struktury nie ma na liście to umieszczam ją, jeśli nie losuje tak długo aż trafię na taki bit aż będzie unikalny.
Mój pierwszy pomysł to użycie QSet<random_bit_array> oraz wykonanie insert, jeśli nie ma takiego obiektu. Niestety, to nie działa. Na pewno można by to zrobić na wiele sposobów. Pierwsze co przychodzi na myśl to sortowanie dwuwymiarowej tablicy dynamicznej, ale dość skomplikowane to jest i chyba można prościej?