Moin!
Ich habe ein Array mit verschiedenen int-Werten. Nun möchte ich den höchsten und den niedrigsten und den durchschnittlichen Wert wissen.
Ich habe eine ein amateurenhaften Algorithmus, der so aussieht:
Alles anzeigen
Das funktioniert bei bis zu 100 Werten im Array "in Echtzeit". Bei mehr Werten muss man allerdings lange bis sehr lange warten.
Kennt jemand einen schnelleren Algorithmus?
Danke!
Osxer
Ich habe ein Array mit verschiedenen int-Werten. Nun möchte ich den höchsten und den niedrigsten und den durchschnittlichen Wert wissen.
Ich habe eine ein amateurenhaften Algorithmus, der so aussieht:
Quellcode
- //Array "allItems" mit int-Werten
- int max = [allItems objectAtIndex:0];
- int min = [allItems objectAtIndex:0];
- int sum = 0;
- for (int i = 0; i<[allItems count]; i++)
- {
- int item = [allItems objectAtIndex:i];
- if (item>max)
- {
- max = item;
- }
- if (item<min)
- {
- min = item;
- }
- sum += item;
- }
- sum = i/[allItems count];
Das funktioniert bei bis zu 100 Werten im Array "in Echtzeit". Bei mehr Werten muss man allerdings lange bis sehr lange warten.
Kennt jemand einen schnelleren Algorithmus?
Danke!
Osxer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Osxer ()