[elektro] file sorbarendezés név szerint

Karoly Kovacs psat55 at yahoo.de
Sun Nov 3 12:26:41 CET 2013


Aranyos! :)))

Karoly

-------- Original Message --------

> É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.
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list