summaryrefslogtreecommitdiff
path: root/selection-sort.py
diff options
context:
space:
mode:
authorinternetlandlord <f.fredhenry@gmail.com>2022-10-17 20:46:38 +0000
committerinternetlandlord <f.fredhenry@gmail.com>2022-10-17 20:46:38 +0000
commitcbd1182b1a006544bac436b3d955ddc034ad5109 (patch)
tree489530522c707bb9dcab7fca259fa4de53b9b0d8 /selection-sort.py
parent93ca9c5856888c373977c8901a28b432bfa17e95 (diff)
Created a selection sort algorithm as a proof of concept. n^2 complexity,
so grab a coffee if you decide to run it against a large array!
Diffstat (limited to 'selection-sort.py')
-rwxr-xr-xselection-sort.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/selection-sort.py b/selection-sort.py
new file mode 100755
index 0000000..c41c86e
--- /dev/null
+++ b/selection-sort.py
@@ -0,0 +1,32 @@
+#!/bin/python3
+
+# ---------- title
+
+
+
+# ---------- Imported modules
+import inputoutput as io
+import csv
+import sys
+
+
+# ---------- Main
+target = sys.argv[1]
+
+# ingress of data
+numdata = io.ingressCSV(target)
+
+# selection sort algorithm
+for i in range(len(numdata)):
+ mindex = i
+
+ for j in range(i+1, len(numdata)):
+ if numdata[mindex] > numdata[j]:
+ mindex = j
+
+ # updating values - trying without simulatenous assignment
+ numdata[i], numdata[mindex] = numdata[mindex], numdata[i]
+
+# finishing up
+print("writing to file")
+io.egressCSV(numdata,target)