Skip to content

Instantly share code, notes, and snippets.

@gurimusan
Created March 11, 2016 05:08
Show Gist options
  • Save gurimusan/d80a193b5e988ea17be3 to your computer and use it in GitHub Desktop.
Save gurimusan/d80a193b5e988ea17be3 to your computer and use it in GitHub Desktop.
discard """
Run as following.
$ nim c -r --verbosity:0 quick_sort.nim
"""
proc sort(alist: var seq[int]): seq[int] =
if alist.len == 0:
return alist
var
pivot = alist[0]
var
left: seq[int] = @[]
right: seq[int] = @[]
for i in 1..alist.len-1:
if pivot <= alist[i]:
right.add(alist[i])
else:
left.add(alist[i])
left = sort(left)
right = sort(right)
var total = left & @[pivot] & right
return total
var alist = @[2, 4, 5, 0, 1]
echo(sort(alist))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment