[elektro] file sorbarendezés név szerint
Karoly Kovacs
psat55 at yahoo.de
Sun Nov 3 11:16:31 CET 2013
Jo ez a video. :)))
(Igaz, csak nagyon feluletes a dolog, hisz ugye a rendezesek
hatekonysaga n db tenyezotol, kezdeti felteteltol is fugg.)
Karoly
-------- Original Message --------
> Koszi a tippeket, ebbe bele kell melyednem ugy tunik...
>
>
> Az a vad otletem tamadt, hogy letrehozok egy temp filet es elkezdem feltolteni ugy, h ket elem kozott mindig hagyok 100 filenevnyi helyet. (Vagy 100-n, ahol n a mar beolvasott elemek szama)
> Ha adott elem kisebb / nagyobb a masiknal be tudom mindig szurni ketto koze, nem kell swappolni... uC-ben csak egy 100elemu index kell ami az adott filenev kezdocimet tarolja a file-ban, hogy ne kelljen vegigszkennelni allandoan. (Vagy lancolt lista a file-ban, es fseek-elni egyszeruen...)
>
>
> Erdekes: 15 algoritmus audiovizualizalva :)
>
> http://youtu.be/kPRA0W1kECg
>
> Arnold
> Sent from iPhone
>
> On 2013.11.03., at 10:07, Palasik Sandor <palasik at mail.datanet.hu> wrote:
>
>>> Elegendő úgy is, hogy order[100]={12,1,4,8,3....} stb 100 elemű tömb adja meg az
>>> eredeti konstans random lista alapjan az adott file melyik helyet foglalja el a
>>> rendezett listaban.
>>
>> Szerintem heapsort. Annak pont elég ez az egy tömb és nem rekurzív.
>>
>> Már nem emlékszem, hogy honnan vettem ezt a verziót:
>>
>> void heapsort()
>> {
>> int i,j,left,right;
>>
>> if (linenum < 2)
>> return;
>>
>> right = linenum-1;
>> left = linenum/2;
>>
>> for (;;) {
>> if (left > 0) {
>> /* Still building heap */
>> left--;
>> }
>> else {
>> /* Removing top element from heap */
>> swap(0,right);
>>
>> right--;
>>
>> if (right == 0)
>> /* All elements removed from heap */
>> break;
>> }
>>
>> j = left;
>>
>> for (;;) {
>> i = j;
>> j = j*2+1;
>>
>> if (j < right &&
>> (*compare)(j,j+1) < 0)
>> j++;
>>
>> if (j > right ||
>> (*compare)(i,j) >= 0)
>> break;
>>
>> /* Correcting heap */
>> swap(i,j);
>> }
>> }
>> }
>>
>> Palasik Sándor
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list