I always have trouble with constructing bijective function from one set to another set. I am asking for some advices so that I can somehow do this type of problem better

Say, I want to construct a bijection .

I would define my function if , if is even, and if is odd and greater than 1.

I can see clearly that this function maps the set of natural numbers to the set of integers. I can also check that this function is one-to-one and onto.

However, I have trouble with coming up with bijective constructions like those below:

1) by

2) by if , and if .

3) by .

I just don't see the approach to obtain these bijective functions as other people see it. What kind of logical thoughts I need to have so that I can tackle these constructions? Also, how can I verify that the functions above are one-to-one and onto by using the definitions? Do I just do it the usual way, for injective, let f(x)=f(y) then show x=y, and for onto, show there exists x in A such that f(x)=y for every y in B (here I consider f from A to B)? Any suggestion and help is appreciated.