#!/bin/bash # # ex1.bash: Advent2020 game, day 10/game 1. CMD=${0##*/} shopt -s extglob # quicksort implementation (ascending) 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[@]}" ) } declare -a numbers readarray -t numbers qsort "${numbers[@]}" numbers=(0 ${qsort_ret[@]}) size=${#numbers[@]} ((last=${numbers[size-1]}+3)) numbers+=("$last") ((size++)) #echo S="$size" $last "[${numbers[@]}]" # last declare -a res=(0 0 0 0) for ((i=1; i