[elektro] file sorbarendezés név szerint

Ábrahám Gábor agabor2 at freemail.hu
Sun Nov 3 11:46:31 CET 2013


Én ezt a sorozatot szeretem. (Lehet, hogy már volt régebben.)

http://www.youtube.com/user/AlgoRythmics

Gábor


----- Eredeti üzenet ----- 
From: Karoly Kovacs
Sent: Sunday, November 03, 2013 11:16 AM
To: elektro at tesla.hu
Subject: Re: [elektro] file sorbarendezés név szerint

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]
>

-----------------------------------------
          elektro[-flame|-etc]

-----
A(z)  üzenetben nem található vírus.
Ellenőrizte: AVG - www.avg.com
Verzió: 2013.0.3426 / Vírus adatbázis: 3222/6804 - Kiadás dátuma: 
2013.11.02. 



More information about the Elektro mailing list