Citat:
Ursprungligen postat av dbshw
En metod (men den är two-pass) är ju att först gå igenom hela array:n en gång och räkna antalet svarta, vita och röda kulor, och sen gå igenom array:n igen och swappa in allting på rätt plats direkt.
Jag tänkte annars på att modda den förra metoden du sa.
Typ att ha 3 räknare istället. Att man tänker att om svart ska vara till vänster, vit i mitten och röd till höger, så gör man precis som tidigare med de som ska till vänster o höger, och den som ska vara i mitten kan man plussa på även när den som ska vara till vänster plussas på. Alltså, viträknaren i detta fall plussas på både när svart och vit hittas, och sen är det som förut. Vad tror du om det?
Tack för att du tar dig tid för övrigt