Initial commit

This commit is contained in:
2018-04-30 02:53:44 +02:00
commit f39b0fbcd8
26 changed files with 1755 additions and 0 deletions

31
snippets/qsort.sh Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# quicksorts positional arguments
# return is in array qsort_ret
qsort() {
local pivot i smaller=() larger=()
qsort_ret=()
(($#==0)) && return 0
pivot=$1
shift
for i; do
if [[ $i < $pivot ]]; then
smaller+=( "$i" )
else
larger+=( "$i" )
fi
done
qsort "${smaller[@]}"
smaller=( "${qsort_ret[@]}" )
qsort "${larger[@]}"
larger=( "${qsort_ret[@]}" )
qsort_ret=( "${smaller[@]}" "$pivot" "${larger[@]}" )
}
array=(a c b "f f" 3 5)
qsort "${array[@]}"
declare -p qsort_ret
exit 0