Wie schaut man in C ob eine Zahl bereits vorhanden ist?
sagen wir ich habe ein array a[ ] = {9,1,5,6,5,9};
jetzt will ich ne funktion schreiben die schaut ob und wenn ja wie oft eine zahl mehrfach vorhanden ist. also hier die 9 2mal und die 5 zweil mal
dafür müsste ich ja das array durchgehen und die i-te zahl mit jeder andere vergleichen, also ab dieser zahl und nicht von vorne.
also bei der 1. 9 mit 1,5,6,5,9 vergleichen
bei der 1 mit 5 6 5 9
bei der 5 mit 6 5 9
und bei der 6 5 9
usw.
wie würde ich da ne funktion schreiben?
und ich würde aber diese funktion selbsrt schreiben wollen also nichts aus bibliotheken, sondern mit oldschool stuff
1 Antwort
Eine Möglichkeit wäre das Array zu sortieren, das bekommste in jedem Fall in n log n hin.
Wenn Du gar zum Distribution Count Sort greifst, dann schaffst Du das sogar noch schneller. Das Problem dabei ist, Du benötigst einen halbwegs beschränkten Wertebereich.
Sonst bleibt noch die Nutzung einer Hashtable.