The question is in the title. No matter how strange and useless it will be, can the set of all rational numbers be ordered in a way that it will be isomorphic to the set of all natural numbers. I think, I have an intuitive answer:

The set of all integers may be ordered in at least one such way:

0 0

1 +1

2 -1

3 2

4 -2

5 3

... ...

Which is simply the function f(n) = -n/2 if n is even and f(n) = n+1/2 if n is odd.

Then we may try this ordering on ordered pairs. Something like this...

I sure can write a computer program that calculates the sequential number of each pair in the previous diagram so I'll get a one to one correspondence between N and Z x Z-{0} so I'll have the desired ordering. But is there a way to make this more precise? Like define the function someway more exactly. After all there is no theorem that states that if there is a program there is a function, corresponding to the program? Right?