From 47d8890c7ef2fa768dacc5726643fc3455f30176 Mon Sep 17 00:00:00 2001 From: David Wiesenberg Date: Wed, 25 Jan 2017 10:22:27 -0500 Subject: [PATCH 1/3] Added name to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index dc1a8aa..9476b02 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # assignment_sort Insertion and Merge Sort assignment + +DAVID WIESENBERG From d1b2c80eb0d92c0e14f92eb72cd1e3324d997e18 Mon Sep 17 00:00:00 2001 From: David Wiesenberg Date: Wed, 25 Jan 2017 15:57:11 -0500 Subject: [PATCH 2/3] final --- .DS_Store | Bin 0 -> 6148 bytes bubble_sort.rb | 33 +++++++++++++++++++++++++++++++++ insertion_sort.rb | 25 +++++++++++++++++++++++++ merge_sort.rb | 34 ++++++++++++++++++++++++++++++++++ test.rb | 14 ++++++++++++++ 5 files changed, 106 insertions(+) create mode 100644 .DS_Store create mode 100644 bubble_sort.rb create mode 100644 insertion_sort.rb create mode 100644 merge_sort.rb create mode 100644 test.rb diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0522696278dfc08ca142e6947b39c71d64830be2 GIT binary patch literal 6148 zcmeHKOKQU~5Pj2T5$K{>cBw1m1|~Qs$OQs%e~{Fn*n6Fz7b)~KIZ)qdrfp1ILN}$9 z85q6M=gHCoOBw*O=$kn(12Cm4iUuR5&7)lxK6pZuGDn9kZqXp&Ze*gr*raQ}Mvo_S zc%*-=zh&HTH_zMq`D)Yd_D9PIFCDck9Xa^sY_xHC;`|WesSI2af<&^c=YVHl_do literal 0 HcmV?d00001 diff --git a/bubble_sort.rb b/bubble_sort.rb new file mode 100644 index 0000000..8cb22ce --- /dev/null +++ b/bubble_sort.rb @@ -0,0 +1,33 @@ +# Implementing Sorting Algorithm + +# Warmup: Bubble Sort + +def bubble_sort(array_2) + loop do + swapped = false + (0..array_2.length-2).each do |i| + if array_2[i] > array_2[i+1] + temp = array_2[i] + array_2[i] = array_2[i+1] + array_2[i+1] = temp + swapped = true + end + end + break unless swapped + end + puts "SORTED array_2 = #{array_2}\n\n" +end + + + + +bubble_sort([1, 7, 2, 5]) + +bubble_sort([1, 3, 7, 2, 5]) + +bubble_sort([1, 3, 7, 7, 2, 5]) + +bubble_sort([1, 3, 7, 2, 2, 5]) + +bubble_sort([1, -3, 7, 2, -2, -5, 10]) + diff --git a/insertion_sort.rb b/insertion_sort.rb new file mode 100644 index 0000000..5ac7f19 --- /dev/null +++ b/insertion_sort.rb @@ -0,0 +1,25 @@ +# Implementing Sorting Algorithm + +# Warmup: Insertion Sort + +def insertion_sort(array_1) + (0..array_1.length-2).each do |i| + value = array_1[i+1] + while (i >= 0 && array_1[i] > value) + array_1[i+1] = array_1[i] + i -= 1 + end + array_1[i+1] = value + end + puts "SORTED array_1 = #{array_2}\n\n" +end + + +insertion_sort([1, 3, 7, 2, 5]) + +insertion_sort([1, 3, 7, 7, 2, 5]) + +insertion_sort([1, 3, 7, 2, 2, 5]) + +insertion_sort([1, -3, 7, 2, -2, -5, 10]) + diff --git a/merge_sort.rb b/merge_sort.rb new file mode 100644 index 0000000..f9cff02 --- /dev/null +++ b/merge_sort.rb @@ -0,0 +1,34 @@ +# Implementing Sorting Algorithm + +# Merge Sort + +def merge_sort(array) + return array if array.length == 1 + middle = array.length/2 + merge merge_sort(array[0..middle-1]), merge_sort(array[middle..-1]) +end + +def merge(left, right) + result = [] + until left.length == 0 || right.length == 0 do + result << (left.first <= right.first ? left.shift : right.shift) + end + result + left + right +end + + + + + +merge_sort([1, 3, 7, 2, 5]) + puts "merge_sort([1, 3, 7, 2, 5]) = #{merge_sort([1, 3, 7, 2, 5])}" + +merge_sort([1, 3, 7, 7, 2, 5]) + puts "merge_sort([1, 3, 7, 7, 2, 5]) = #{merge_sort([1, 3, 7, 7, 2, 5])}" + +merge_sort([1, 3, 7, 2, 2, 5]) + puts "merge_sort([1, 3, 7, 2, 2, 5]) = #{merge_sort([1, 3, 7, 2, 2, 5])}" + +merge_sort([1, -3, 7, 2, -2, -5, 10]) + puts "merge_sort([1, -3, 7, 2, -2, -5, 10]) = #{merge_sort([1, -3, 7, 2, -2, -5, 10])}" + diff --git a/test.rb b/test.rb new file mode 100644 index 0000000..e2729ba --- /dev/null +++ b/test.rb @@ -0,0 +1,14 @@ +# Implementing Sorting Algorithm + +# Test + +array = [1, 2, 4, 7, 3] + + middle = array.length/2 + puts "middle = #{middle}" + puts array[0..middle-1] + puts + puts array[middle..-1] + + + From f54f1a1fe2e20c15c8d79b9716d3fdbba6c1a1be Mon Sep 17 00:00:00 2001 From: dwiesenberg Date: Wed, 25 Jan 2017 15:58:08 -0500 Subject: [PATCH 3/3] Delete test.rb --- test.rb | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 test.rb diff --git a/test.rb b/test.rb deleted file mode 100644 index e2729ba..0000000 --- a/test.rb +++ /dev/null @@ -1,14 +0,0 @@ -# Implementing Sorting Algorithm - -# Test - -array = [1, 2, 4, 7, 3] - - middle = array.length/2 - puts "middle = #{middle}" - puts array[0..middle-1] - puts - puts array[middle..-1] - - -