From 82a314d3f211f9da4f0a906ccbe2df279c79e6de Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 17 Jul 2020 09:25:59 +0100 Subject: initial shuffle sort --- sort/shuffle.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sort/shuffle.go (limited to 'sort') diff --git a/sort/shuffle.go b/sort/shuffle.go new file mode 100644 index 0000000..040456b --- /dev/null +++ b/sort/shuffle.go @@ -0,0 +1,24 @@ +package sort + +import ( + "algorithms/ds" +) + +func Shuffle(a ds.ArrayList) ds.ArrayList { + length := len(a) + for i := 0; i < length; i++ { + min := i + for j := i + 1; j < length; j++ { + if a[min].Higher(a[j]) { + min = j + } + } + if min == i { + continue + } + tmp := a[i] + a[i] = a[min] + a[min] = tmp + } + return a +} -- cgit v1.2.3