V10/vol2/anim/is.awk

awk '
BEGIN {	n = ARGV[1]	# numer of elements to generate and sort
	for (i = 1; i <= n; i++) x[i] = 1 + int(25*rand())
	for (i = 2; i <= n; i++) {
		for (j = i; j > 1 && x[j] < x[j-1]; j--)
			swap(j-1, j)
		show()
	}
}
function swap(i, j,   t) {
	t = x[i];  x[i] = x[j];  x[j] = t
}
function show(  i) {
	for (i = 1; i <= n; i++)
		printf("%3d", x[i])
	printf("\n")
}' $*