From fbffc5cba6f25a35a3363b08698766d69437bb1e Mon Sep 17 00:00:00 2001 From: Carl Rodriguez Date: Thu, 13 Aug 2020 17:20:32 -0700 Subject: [PATCH] Update counts for a few sorts --- src/array/visualizer/sort/BubbleSort.java | 2 +- src/array/visualizer/sort/InsertionSort.java | 14 +++++++----- src/array/visualizer/sort/MergeSort.java | 23 ++++++++++---------- src/array/visualizer/sort/QuickSort.java | 6 +++-- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/array/visualizer/sort/BubbleSort.java b/src/array/visualizer/sort/BubbleSort.java index 1f245132..5d3fc65d 100644 --- a/src/array/visualizer/sort/BubbleSort.java +++ b/src/array/visualizer/sort/BubbleSort.java @@ -18,8 +18,8 @@ public static void bubbleSort(final ArrayController ac) { for(int i = ac.length-1; i > 0; i--){ for(int j = 0; j < i; j++){ sleep(0.005); + ac.comps++; if(ac.array[j]>ac.array[j+1]){ - ac.comps++; swap(ac, j, j+1, 0.01); }else{ ac.marked.set(1, j+1); diff --git a/src/array/visualizer/sort/InsertionSort.java b/src/array/visualizer/sort/InsertionSort.java index eda608e1..45f0b84f 100644 --- a/src/array/visualizer/sort/InsertionSort.java +++ b/src/array/visualizer/sort/InsertionSort.java @@ -21,13 +21,14 @@ public static void insertionSort(final ArrayController ac) { ac.marked.set(1, i); ac.marked.set(2, -5); while(pos>0&&ac.array[pos]<=ac.array[pos-1]){ - ac.comps+=2; + ac.comps+=1; swap(ac, pos, pos-1, 0.02); pos--; } + ac.comps+=1; } } - + public static void insertionSort(final ArrayController ac, int start, int end, double slpamt) { int pos; for(int i = start; i < end; i++){ @@ -35,11 +36,12 @@ public static void insertionSort(final ArrayController ac, int start, int end, d ac.marked.set(1, i); ac.marked.set(2, -5); while(pos>start&&ac.array[pos]<=ac.array[pos-1]){ - ac.comps+=2; - swap(ac, pos, pos-1); - sleep(slpamt); - pos--; + ac.comps+=1; + swap(ac, pos, pos-1); + sleep(slpamt); + pos--; } + ac.comps+=1; } } diff --git a/src/array/visualizer/sort/MergeSort.java b/src/array/visualizer/sort/MergeSort.java index 794a5488..2522dfb8 100644 --- a/src/array/visualizer/sort/MergeSort.java +++ b/src/array/visualizer/sort/MergeSort.java @@ -19,40 +19,41 @@ public class MergeSort implements Sort { static void merge(final ArrayController ac, int min, int max, int mid){ try { //radixLSDsortnd(2, min, max); - - + + int i=min; while(i<=mid){ + ac.comps++; if(ac.array[i]>ac.array[mid+1]){ - ac.comps++; swap(ac, i, mid+1, 1.5); push(ac, mid+1, max); } i++; - } - + } + } catch (Exception ex) { Logger.getLogger(ArrayVisualizer.class.getName()).log(Level.SEVERE, null, ex); } } - + static void push(final ArrayController ac, int s, int e){ - + for(int i=s;iac.array[i+1]){ - ac.comps++; swap(ac, i, i+1, 0.0175); } } - - + + } - + public static void mergeSort(final ArrayController ac, int min, int max){ if(max-min==0){//only one element. //no swap } else if(max-min==1){//only two elements and swaps them + ac.comps++; if(ac.array[min]>ac.array[max]) swap(ac, min, max); } diff --git a/src/array/visualizer/sort/QuickSort.java b/src/array/visualizer/sort/QuickSort.java index b52ce4f1..be69360b 100644 --- a/src/array/visualizer/sort/QuickSort.java +++ b/src/array/visualizer/sort/QuickSort.java @@ -38,15 +38,17 @@ public static int partition(final ArrayController ac, int p, int r) { i++; ac.marked.set(1, i); sleep(0.45); - ac.comps+=2; + ac.comps+=1; } + ac.comps+=1; j--; while (j>p && ac.array[j] > x){ j--; ac.marked.set(2, j); sleep(0.45); - ac.comps+=2; + ac.comps+=1; } + ac.comps+=1; if (i < j) swap(ac, i, j);