Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
процедура MergeSort (мод a: t) це
процедура Merge(арг a: t; Size: нат; рез b: t) це
змін i, j, k, r1, r2: нат;
поч
k <- 1;
поки k<=n повт
{визначення границь підмасивів}
i <- k; r1 <- i+Size-1;
якщо r1>n то r1 <- n кр;
j <- r1+1; r2 <- j+Size-1;
якщо r2>n то r2 <- n кр;
{злиття пари підмасивів}
поки i<=r1 & j<=r2 повт
якщо a[i]<a[j] то
b[k] <- a[i]; i <- i+1
інакше
b[k] <- a[j]; j <- j+1
кр;
k <- k+1
кц;
поки i<=r1 повт
b[k] <- a[i]; i <- i+1;
k <- k+1
кц;
поки j<=r2 повт
b[k] <- a[j]; j <- j+1;
k <- k+1
кц;
кц;
кп;
змін i, Size: нат; b: t;
поч
i <- 0; Size <- 1;
повт
i <- i+1
якщо i mod 2 = 1 то Merge(a, Size, b)
інакше Merge(b, Size, a) кр;
Size <- Size*2;
до Size >= n;
якщо i mod 2 = 1 то a <- b кр
кп;
@controlflow

This comment has been minimized.

Copy link

commented Jan 26, 2014

Похоже на Pascal вроде

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.