Ho una lista di oggetti che per essere inizializzati richiedono la generazione di quattro numeri interi ognuno incluso fra 1 e 999.
Non conosco a priori la dimensione alla quale la lista può arrivare. A seconda di alcune considerazioni direi che ci possono essere situazioni in cui la lista conterrá decine di elementi, ed altre in cui potrebbe contenerne centinaia.
Dovrei essere certo che ogni oggetto abbia una combinazione unica di quattro numeri, al momento sto facendo affidamento semplicemente sulla probabilitá che mi dice che una condizione simile è alquanto rara.
ma per assicurarmi che ogni item sia davvero unico come potreifare?codice:class item { int x,y,z,k; public bool operator==(item it) { return x==it.x && y==it.y && z==it.z && k==it.z; } } class container { private list<item> lista; public void init() { for(int i=0; i<lista.count;i++) { lista[i].x =random(1,999); //lo stesso per gli altri interi } } }
Perchè fare un controllo su ogni elemento creato mi sembra troppo inefficiente da un punto di vista computazionale quando ladimensione della lista crescetroppo. Stavo pensando se non potessi creareio i numeri in modo tale chesu 999 "tiri"(passatemi ili termine) non ricapiti mai due volte lo stesso.
in questo modo sarei assolutamente certo che le sequenze siano uniche.
Sono comunque aperto a qualsiasi suggerimento