Andreas Ericsson [off-list ref] writes:
It's perfectly correct. If the same list was to be passed to
create_sorted_list() twice it will come out exactly the same the second
time as it did the first. The only thing to remark on is that the return
above could be written as below instead:
return a - b;
And I suspect Morten would say the same thing about ptrdiff_t
could be larger than an int.
I personally feel this would not make any practical difference
on sane architectures either way, though..