0, 1, 2, 3, ..., ∞
It's also possible to add another set of natural numbers after infinity, but in this case infinity is usually call ω: https://en.wikipedia.org/wiki/Ordinal_number
0, 1, 2, 3, ..., ω, ω+1, ω+2, ω+3, ...
Your example with an array is just:
0, 1, 2, 3, ..., ∞, ..., -3, -2, -1
It's possible to define a "<" relationship there and a topology and most of the other usual stuff, but it's a numerable set.
There are similar constructions for non-numerable sets, like the real numbers. You can add one infinite on both sides and you get something that is topologically equivalent to the border of a circle, or add two infinites (one on each side) and you get something that is topologically equivalent to a closed interval, or add even more infinites https://en.wikipedia.org/wiki/Compactification_(mathematics)
https://en.wikipedia.org/wiki/Projective_line#Line_extended_...
..., 0, 1, 2, 3, ..., ∞, ..., -3, -2, -1, 0, 1, 2, 3, ..., ∞, ..., -3, -2, -1, 0, 1, 2, 3, ..., ∞, ..., -3, -2, -1, ...
where all the repetitions of a number are equivalent. In particular, you can not define a "<".
The example was
[stop], 0, 1, 2, 3, ..., ∞, ..., -3, -2, -1, [stop]
where you can define "<". This example is more similar to the temperature classification in the article in Wikipedia. You can pass through infinity, but you can't pass through 0. (Perhaps to be more similar, we should remove 0.)
Indeed as you've illustrated the union of countable sets is countable, but unions aren't appropriate when order matters. The use of an array instead of a set data structure highlights this difference. The negative temperatures in the post begin after +∞. Because ordinals are an extension of enumerability we cannot simply drop ∞ into an array location and still call it enumerable. Speaking from turing recognizability / recursively enumerable languages there is no way for a machine to accept negative integers after all positive integers have been input.