import os import sys def main() -> int: in_ints: list[int] = [] with open(sys.argv[1]) as infile: for line in infile: in_ints.append(int(line.strip())) insertion_sort(in_ints) for i in in_ints: print(i) return 0 def insertion_sort(in_ints: list[int]) -> None: for i in range(len(in_ints) - 1): j = i + 1 key = in_ints[j] print(f"{in_ints} (save {key} from {j})", file=sys.stderr) while i > -1 and in_ints[i] > key: in_ints[i + 1] = in_ints[i] print(f"{in_ints} (j={j} i={i})", file=sys.stderr) i -= 1 in_ints[i + 1] = key print(f"{in_ints} (insert {key} at {i+1})", file=sys.stderr) if __name__ == "__main__": sys.exit(main())