diff options
author | internetlandlord <f.fredhenry@gmail.com> | 2022-10-17 20:46:38 +0000 |
---|---|---|
committer | internetlandlord <f.fredhenry@gmail.com> | 2022-10-17 20:46:38 +0000 |
commit | cbd1182b1a006544bac436b3d955ddc034ad5109 (patch) | |
tree | 489530522c707bb9dcab7fca259fa4de53b9b0d8 /selection-sort.py | |
parent | 93ca9c5856888c373977c8901a28b432bfa17e95 (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-x | selection-sort.py | 32 |
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) |