From 6d84fa7e88e9378bab4fe5c4171c7d942a060d31 Mon Sep 17 00:00:00 2001
From: Alex <atm2g19@soton.ac.uk>
Date: Sat, 11 Apr 2020 15:39:41 +0100
Subject: [PATCH] fixed names

---
 .../{bubble-sort.js => bubble_sort.js}        |  2 +-
 ...{bubble-sort.js.map => bubble_sort.js.map} |  2 +-
 ...shaker-sort.js => cocktail_shaker_sort.js} |  2 +-
 ...ort.js.map => cocktail_shaker_sort.js.map} |  2 +-
 .../algorithms/{heap-sort.js => heap_sort.js} |  2 +-
 .../{heap-sort.js.map => heap_sort.js.map}    |  2 +-
 .../algorithms/near-sorted.js                 |  1 -
 .../algorithms/near-sorted.js.map             |  1 -
 .../{quick-sort.js => quick_sort.js}          |  2 +-
 .../{quick-sort.js.map => quick_sort.js.map}  |  2 +-
 .../fisher_yates.js}                          |  2 +-
 .../fisher_yates.js.map}                      |  2 +-
 .../in-order.js => shuffles/in_order.js}      |  2 +-
 .../in_order.js.map}                          |  2 +-
 .../shuffles/near_sorted.js                   | 53 +++++++++++++++++++
 .../shuffles/near_sorted.js.map               |  1 +
 16 files changed, 66 insertions(+), 14 deletions(-)
 rename public/coding_challenges/sorting_visualiser/algorithms/{bubble-sort.js => bubble_sort.js} (95%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{bubble-sort.js.map => bubble_sort.js.map} (86%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{cocktail-shaker-sort.js => cocktail_shaker_sort.js} (95%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{cocktail-shaker-sort.js.map => cocktail_shaker_sort.js.map} (90%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{heap-sort.js => heap_sort.js} (99%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{heap-sort.js.map => heap_sort.js.map} (96%)
 delete mode 100644 public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js
 delete mode 100644 public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map
 rename public/coding_challenges/sorting_visualiser/algorithms/{quick-sort.js => quick_sort.js} (99%)
 rename public/coding_challenges/sorting_visualiser/algorithms/{quick-sort.js.map => quick_sort.js.map} (96%)
 rename public/coding_challenges/sorting_visualiser/{algorithms/fisher-yates.js => shuffles/fisher_yates.js} (93%)
 rename public/coding_challenges/sorting_visualiser/{algorithms/fisher-yates.js.map => shuffles/fisher_yates.js.map} (81%)
 rename public/coding_challenges/sorting_visualiser/{algorithms/in-order.js => shuffles/in_order.js} (96%)
 rename public/coding_challenges/sorting_visualiser/{algorithms/in-order.js.map => shuffles/in_order.js.map} (88%)
 create mode 100644 public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js
 create mode 100644 public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js.map

diff --git a/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js
similarity index 95%
rename from public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js
index 6453806..8fc0e68 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js
+++ b/public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js
@@ -28,4 +28,4 @@ Algorithms.push({
     name: "bubble",
     constructor: BubbleSort,
 });
-//# sourceMappingURL=bubble-sort.js.map
\ No newline at end of file
+//# sourceMappingURL=bubble_sort.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js.map
similarity index 86%
rename from public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js.map
index 015e7bb..d40b887 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/bubble-sort.js.map
+++ b/public/coding_challenges/sorting_visualiser/algorithms/bubble_sort.js.map
@@ -1 +1 @@
-{"version":3,"file":"bubble-sort.js","sourceRoot":"","sources":["bubble-sort.ts"],"names":[],"mappings":"AAAA,MAAM,UAAW,SAAQ,SAAS;IAAlC;;QACC,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;IA0BtB,CAAC;IAvBA,aAAa;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,wCAAwC;YACxC,oCAAoC;YACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClB;IAEF,CAAC;IAED,WAAW;QAEV,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,UAAU,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;CACvB,CAAC,CAAA"}
\ No newline at end of file
+{"version":3,"file":"bubble_sort.js","sourceRoot":"","sources":["bubble_sort.ts"],"names":[],"mappings":"AAAA,MAAM,UAAW,SAAQ,SAAS;IAAlC;;QACC,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;IA0BtB,CAAC;IAvBA,aAAa;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,wCAAwC;YACxC,oCAAoC;YACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClB;IAEF,CAAC;IAED,WAAW;QAEV,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,UAAU,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;CACvB,CAAC,CAAA"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js
similarity index 95%
rename from public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js
index d772045..a19dc6f 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js
+++ b/public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js
@@ -33,4 +33,4 @@ Algorithms.push({
     name: "cocktailshaker",
     constructor: CocktailShakerSort,
 });
-//# sourceMappingURL=cocktail-shaker-sort.js.map
\ No newline at end of file
+//# sourceMappingURL=cocktail_shaker_sort.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js.map
similarity index 90%
rename from public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js.map
index 951caa9..bf3b4b6 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/cocktail-shaker-sort.js.map
+++ b/public/coding_challenges/sorting_visualiser/algorithms/cocktail_shaker_sort.js.map
@@ -1 +1 @@
-{"version":3,"file":"cocktail-shaker-sort.js","sourceRoot":"","sources":["cocktail-shaker-sort.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAmB,SAAQ,SAAS;IAA1C;;QACC,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;IA6BtB,CAAC;IA3BA,aAAa;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;;YAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACjI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;;gBAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IAEF,CAAC;IAED,WAAW;QAEV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,UAAU,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kBAAkB;CAC/B,CAAC,CAAA"}
\ No newline at end of file
+{"version":3,"file":"cocktail_shaker_sort.js","sourceRoot":"","sources":["cocktail_shaker_sort.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAmB,SAAQ,SAAS;IAA1C;;QACC,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;IA6BtB,CAAC;IA3BA,aAAa;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;;YAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACjI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;;gBAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IAEF,CAAC;IAED,WAAW;QAEV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,UAAU,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kBAAkB;CAC/B,CAAC,CAAA"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js
similarity index 99%
rename from public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js
index 629e728..de11428 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js
+++ b/public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js
@@ -116,4 +116,4 @@ Algorithms.push({
     name: "heapsort",
     constructor: HeapSort,
 });
-//# sourceMappingURL=heap-sort.js.map
\ No newline at end of file
+//# sourceMappingURL=heap_sort.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js.map
similarity index 96%
rename from public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js.map
index 575a02b..944ff74 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/heap-sort.js.map
+++ b/public/coding_challenges/sorting_visualiser/algorithms/heap_sort.js.map
@@ -1 +1 @@
-{"version":3,"file":"heap-sort.js","sourceRoot":"","sources":["heap-sort.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"heap_sort.js","sourceRoot":"","sources":["heap_sort.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js b/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js
deleted file mode 100644
index 1ad047d..0000000
--- a/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js
+++ /dev/null
@@ -1 +0,0 @@
-//# sourceMappingURL=near-sorted.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map b/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map
deleted file mode 100644
index dd3180c..0000000
--- a/public/coding_challenges/sorting_visualiser/algorithms/near-sorted.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"near-sorted.js","sourceRoot":"","sources":["near-sorted.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js b/public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js
similarity index 99%
rename from public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js
rename to public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js
index 6bec6e7..07a208e 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js
+++ b/public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js
@@ -107,4 +107,4 @@ Algorithms.push({
         ]
     }
 });
-//# sourceMappingURL=quick-sort.js.map
\ No newline at end of file
+//# sourceMappingURL=quick_sort.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js.map b/public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js.map
similarity index 96%
rename from public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js.map
rename to public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js.map
index 1afaa72..603b66f 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/quick-sort.js.map
+++ b/public/coding_challenges/sorting_visualiser/algorithms/quick_sort.js.map
@@ -1 +1 @@
-{"version":3,"file":"quick-sort.js","sourceRoot":"","sources":["quick-sort.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"quick_sort.js","sourceRoot":"","sources":["quick_sort.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js b/public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js
similarity index 93%
rename from public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js
rename to public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js
index 21cba29..b163e43 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js
+++ b/public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js
@@ -21,4 +21,4 @@ Shuffles.push({
     name: "Fisher Yeates Shuffle",
     constructor: FisherYates,
 });
-//# sourceMappingURL=fisher-yates.js.map
\ No newline at end of file
+//# sourceMappingURL=fisher_yates.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js.map b/public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js.map
similarity index 81%
rename from public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js.map
rename to public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js.map
index 91fae41..29abfd6 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/fisher-yates.js.map
+++ b/public/coding_challenges/sorting_visualiser/shuffles/fisher_yates.js.map
@@ -1 +1 @@
-{"version":3,"file":"fisher-yates.js","sourceRoot":"","sources":["fisher-yates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAY,SAAQ,SAAS;IAAnC;;QACC,gBAAW,GAAW,CAAC,CAAC;IAgBzB,CAAC;IAbA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;YACxC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,QAAQ,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,WAAW;CACxB,CAAC,CAAA"}
\ No newline at end of file
+{"version":3,"file":"fisher_yates.js","sourceRoot":"","sources":["fisher_yates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAY,SAAQ,SAAS;IAAnC;;QACC,gBAAW,GAAW,CAAC,CAAC;IAgBzB,CAAC;IAbA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;YACxC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,QAAQ,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,WAAW;CACxB,CAAC,CAAA"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/in-order.js b/public/coding_challenges/sorting_visualiser/shuffles/in_order.js
similarity index 96%
rename from public/coding_challenges/sorting_visualiser/algorithms/in-order.js
rename to public/coding_challenges/sorting_visualiser/shuffles/in_order.js
index 00432d7..4ba0987 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/in-order.js
+++ b/public/coding_challenges/sorting_visualiser/shuffles/in_order.js
@@ -41,4 +41,4 @@ Shuffles.push({
     name: "Rev-Order",
     constructor: revOrder,
 });
-//# sourceMappingURL=in-order.js.map
\ No newline at end of file
+//# sourceMappingURL=in_order.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/algorithms/in-order.js.map b/public/coding_challenges/sorting_visualiser/shuffles/in_order.js.map
similarity index 88%
rename from public/coding_challenges/sorting_visualiser/algorithms/in-order.js.map
rename to public/coding_challenges/sorting_visualiser/shuffles/in_order.js.map
index 211c914..5f73033 100644
--- a/public/coding_challenges/sorting_visualiser/algorithms/in-order.js.map
+++ b/public/coding_challenges/sorting_visualiser/shuffles/in_order.js.map
@@ -1 +1 @@
-{"version":3,"file":"in-order.js","sourceRoot":"","sources":["in-order.ts"],"names":[],"mappings":"AAAA,MAAM,OAAQ,SAAQ,SAAS;IAA/B;;QACS,UAAK,GAAW,CAAC,CAAC;IAe3B,CAAC;IAZA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAClC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AACD,MAAM,QAAS,SAAQ,SAAS;IAAhC;;QACS,UAAK,GAAW,CAAC,CAAC;IAe3B,CAAC;IAZA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAClC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,QAAQ,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,OAAO;CACpB,EAAE;IACF,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,QAAQ;CACrB,CAAC,CAAA"}
\ No newline at end of file
+{"version":3,"file":"in_order.js","sourceRoot":"","sources":["in_order.ts"],"names":[],"mappings":"AAAA,MAAM,OAAQ,SAAQ,SAAS;IAA/B;;QACS,UAAK,GAAW,CAAC,CAAC;IAe3B,CAAC;IAZA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAClC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AACD,MAAM,QAAS,SAAQ,SAAS;IAAhC;;QACS,UAAK,GAAW,CAAC,CAAC;IAe3B,CAAC;IAZA,aAAa;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAClC,OAAO,IAAI,CAAC;QACb,OAAO,KAAK,CAAA;IACb,CAAC;IACD,MAAM,CAAC,GAAW,EAAE,GAAQ,IAAG,CAAC;CAChC;AAED,QAAQ,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,OAAO;CACpB,EAAE;IACF,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,QAAQ;CACrB,CAAC,CAAA"}
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js b/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js
new file mode 100644
index 0000000..a64bba0
--- /dev/null
+++ b/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js
@@ -0,0 +1,53 @@
+class nearSorted extends Algorithm {
+    constructor() {
+        super(...arguments);
+        this.maxDist = 0;
+        this.remDist = -1;
+        this.idx = 0;
+    }
+    sortIteration() {
+        if (this.remDist == -1)
+            this.remDist = this.maxDist;
+        if (Math.round(Math.random())) {
+            this.elems.swap(this.idx, this.idx + 1);
+        }
+        this.idx += 2;
+        if (this.idx >= this.elems.length - 1) {
+            this.idx = 0;
+            this.remDist--;
+        }
+    }
+    setOpt(key, val) {
+        if (key == "distance") {
+            this.maxDist = val;
+        }
+    }
+    getComplete() {
+        return this.remDist <= 0;
+    }
+}
+Shuffles.push({
+    name: "near sorted",
+    constructor: nearSorted,
+    opts: {
+        "distance": [
+            ["1", 1],
+            ["2", 2],
+            ["3", 3],
+            ["4", 4],
+            ["5", 5],
+            ["6", 6],
+            ["7", 7],
+            ["8", 8],
+            ["10", 10],
+            ["12", 12],
+            ["14", 14],
+            ["17", 17],
+            ["20", 20],
+            ["24", 24],
+            ["28", 28],
+            ["33", 33],
+        ]
+    }
+});
+//# sourceMappingURL=near_sorted.js.map
\ No newline at end of file
diff --git a/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js.map b/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js.map
new file mode 100644
index 0000000..bf82bf5
--- /dev/null
+++ b/public/coding_challenges/sorting_visualiser/shuffles/near_sorted.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"near_sorted.js","sourceRoot":"","sources":["near_sorted.ts"],"names":[],"mappings":"AAAA,MAAM,UAAW,SAAQ,SAAS;IAAlC;;QACC,YAAO,GAAW,CAAC,CAAC;QACpB,YAAO,GAAW,CAAC,CAAC,CAAC;QACrB,QAAG,GAAW,CAAC,CAAC;IAwBjB,CAAC;IAtBA,aAAa;QACZ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;SACf;IACF,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAG;QACtB,IAAI,GAAG,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;SACnB;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1B,CAAC;CAED;AAGD,QAAQ,CAAC,IAAI,CAAC;IACb,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE;QACL,UAAU,EAAE;YACX,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;YACV,CAAC,IAAI,EAAE,EAAE,CAAC;SAEV;KACD;CACD,CAAC,CAAA"}
\ No newline at end of file
-- 
GitLab