June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,39 @@
|
|||
merge := proc(arr, left, mid, right)
|
||||
local i, j, k, n1, n2, L, R;
|
||||
n1 := mid-left+1:
|
||||
n2 := right-mid:
|
||||
L := Array(1..n1):
|
||||
R := Array(1..n2):
|
||||
for i from 0 to n1-1 do
|
||||
L(i+1) :=arr(left+i):
|
||||
end do:
|
||||
for j from 0 to n2-1 do
|
||||
R(j+1) := arr(mid+j+1):
|
||||
end do:
|
||||
i := 1:
|
||||
j := 1:
|
||||
k := left:
|
||||
while(i <= n1 and j <= n2) do
|
||||
if (L[i] <= R[j]) then
|
||||
arr[k] := L[i]:
|
||||
i++:
|
||||
else
|
||||
arr[k] := R[j]:
|
||||
j++:
|
||||
end if:
|
||||
k++:
|
||||
end do:
|
||||
while(i <= n1) do
|
||||
arr[k] := L[i]:
|
||||
i++:
|
||||
k++:
|
||||
end do:
|
||||
while(j <= n2) do
|
||||
arr[k] := R[j]:
|
||||
j++:
|
||||
k++:
|
||||
end do:
|
||||
end proc:
|
||||
arr := Array([17,3,72,0,36,2,3,8,40,0]);
|
||||
mergeSort(arr,1,numelems(arr)):
|
||||
arr;
|
||||
Loading…
Add table
Add a link
Reference in a new issue