From fc6d0909d561c6ac8369293ce0d6ff2ef85f5671 Mon Sep 17 00:00:00 2001 From: Mikhail Smirnov Date: Wed, 7 Nov 2012 00:22:59 +0600 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D1=81=D0=BB=D0=B8=D1=8F=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hw1.htm | 13 +++++++++++++ hw1.js | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 hw1.htm create mode 100644 hw1.js diff --git a/hw1.htm b/hw1.htm new file mode 100644 index 0000000..f84a21a --- /dev/null +++ b/hw1.htm @@ -0,0 +1,13 @@ + + + + + HomeWork + + + +
+ + + + \ No newline at end of file diff --git a/hw1.js b/hw1.js new file mode 100644 index 0000000..2d44d3b --- /dev/null +++ b/hw1.js @@ -0,0 +1,59 @@ +function merge(array, leftBorder, split, rightBorder) { + "use strict"; + var MAX = 100000, + position1 = split - leftBorder + 1, + position2 = rightBorder - split, + tempArr1 = [], + tempArr2 = [], + i, + j, + k; + tempArr1.length = position1 + 1; + tempArr2.length = position2 + 1; + tempArr1[position1] = MAX; + tempArr2[position2] = MAX; + for (i = 0; i < position1; i = i + 1) { + tempArr1[i] = array[leftBorder + i]; + } + for (i = 0; i < position2; i = i + 1) { + tempArr2[i] = array[split + i + 1]; + } + i = 0; + j = 0; + for (k = leftBorder; k <= rightBorder; k = k + 1) { + if (tempArr1[i] <= tempArr2[j]) { + array[k] = tempArr1[i]; + i = i + 1; + } else { + array[k] = tempArr2[j]; + j = j + 1; + } + } +} + +function mergeSort(array, leftBorder, rightBorder) { + "use strict"; + if (leftBorder < rightBorder) { + var split = Math.floor((leftBorder + rightBorder) / 2); + mergeSort(array, leftBorder, split); + mergeSort(array, split + 1, rightBorder); + merge(array, leftBorder, split, rightBorder); + } +} + +function draw(array) { + "use strict"; + console.log(array); +} + +function main(myArg) { + "use strict"; + draw(myArg); + var array = myArg.split(','), + i = 0; + for (i; i < array.length; i = i + 1) { + array[i] = parseInt(array[i], 10); + } + mergeSort(array, 0, array.length - 1); + draw(array); +} \ No newline at end of file