PDA

Zobacz pełną wersję : Może mi ktoś wytłumaczyć... Pilna prośba



Adgam
25-01-07, 23:22
Moźe mi ktoś wytłumaczyć o co chodzi w tym kodzie ??? Z głry dziękuje

void sort(char d[],char p[],int begin, int end) //sortowanie przez scalanie
{
int mid,i1,i2,i;
mid = (begin + end + 1) / 2;
if (mid - begin > 1) sort(d,p, begin, mid - 1);
if (end - mid > 0) sort(d,p, mid, end);
i1 = begin;
i2 = mid;
for (i = begin; i <= end; i++)
p[i] = ((i1 == mid) || ((i2 <= end) && (d[i1] > d[i2]))) ? d[i2++] : d[i1++];
for (i = begin; i <= end; i++) d[i] = p[i];

RRybak
26-01-07, 10:07
Klasyczny przykad rekurencji metod dziel i zwyciaj. Rozumiem, e nie interesuj Ci komentarze do kodu, tylko 'o co chodzi'.

Zerknij tutaj: http://pl.wikipedia.org/wiki/Sortowanie_przez_scalanie

i tutaj razem z fajn animacj jak to dziaa: http://ww.umk.pl/~abak/wdimat/s/MergeSort.html

:wink: