awk ' function draw(i) { print "a" i ": text", i, x[i], "bullet" print "b" i ": circle fill", i, x[i], .1 } function swap(i,j, t) { t = x[i]; x[i] = x[j]; x[j] = t draw(i); draw(j) print "click swaps" } function less(i,j) { print "compline: line <-> fat", i, -8, j, -8 print "click comps" if (x[i] < x[j]) { return 1 } else { return 0 } } BEGIN { n=10 for (i = 1; i <= n; i++) { x[i] = int(100*rand()) draw(i) } for (i = 2; i <= n; i++) for (j = i; j > 1 && less(j, j-1); j--) swap(j-1, j) }'