Holen Sie sich X eindeutige Zahlen aus einer Menge

Was ist der eleganteste Weg, um eindeutige Zufallszahlen zu erhalten, über die ich nachdenke?

In dem Moment, in dem ich zufällige eindeutige Zahlen benötige, überprüfe ich mithilfe einer while-Schleife, ob ich die zufällige Zahl bereits verwendet habe.

So sieht es so aus:

int n = getRandomNumber % [Array Size];

for each ( Previously used n in list)
    Check if I've used n before, if I have...try again.

Es gibt viele Möglichkeiten, dieses lineare O (n / 2) -Problem zu lösen. Ich frage mich nur, ob es eine elegante Möglichkeit gibt, es zu lösen. Der Versuch, an MATH115 Diskrete Mathematik zurückzudenken und sich zu erinnern, ob der alte Dozent irgendetwas mit einem scheinbar trivialen Problem zu tun hatt

Ich kann im Moment nicht nachdenken. Wenn ich also etwas Koffein habe, wird mein Gehirn es vielleicht mit dem erhöhten IQ, der durch den Kaffee induziert wird, abschätzen.