Gast
#106758
Hallo, liebe Forumianer ! Ich habe mal wieder einen kleinen Brocken in einem AVR-Programm zu knacken : Es geht um das Sortieren von Zahlen. Der AVR soll aus seinem E2P insgesamt 762 Werte herauslesen, welche zwischen 0 und 99999 liegen können. Als Endergebnis soll ein Array forlaufend in steigender Reihenfolge die E2P-Adressen enthalten, in dessen Zelle der jeweils nächstgrößeren Wert steht. Nun könnte ich zwei Schleifen ineiander schachteln, die eine von 0-99999, die andere 0-762. Das beduetet jedoch, das ca. 76Mio Vergleichsopertionen durchgeführt werden müssen. Dazu kommt noch das adressieren, lesen, schreiben, etc... Damit ist mein Mega128 mit 8Mhz bestimmt eine halbe Minute damit beschäftigt !! Das ist viel zu lange. Hat jemand eine andere Idee zu einem Algorythmus,wo's schneller geht (2 Sek. würde ich mir ja noch gefallen lassen...) Danke und VG Marco