He aquí una construcción directa de una biyección $\mathbb R \to S^1$ que evita el teorema de Schröder-Bernstein.
Para empezar, la función $f(x) = (\cos x, \sin x)$ es una biyección de $[0,2\pi)$ a $S^1$
Así que ahora todo lo que necesitas es otra biyección $g : \mathbb R \to [0,2\pi)$ con la que obtenemos la biyección deseada $f^{-1} \circ g : \mathbb R \to S^1$ .
Para construir $g$ , comience por subdividir $[0,2\pi)$ en una secuencia de subintervalos semiabiertos: $$ [0,2\pi) = \underbrace{[0, \frac{1}{2} \cdot 2\pi)}_{I_1} \cup \underbrace{[\frac{1}{2} \cdot 2\pi, \frac{3}{4} \cdot 2\pi)}_{I_2} \cup \underbrace{[\frac{3}{4} \cdot 2\pi,\frac{7}{8} \cdot 2\pi)}_{I_3} \cup \cdots $$ Además, subdivide $\mathbb R$ en una secuencia bi-infinita de intervalos semiabiertos: $$\mathbb R = \cdots \cup \underbrace{[-2,-1)}_{J_{-2}} \cup \underbrace{[-1,0)}_{J_{-1}} \cup \underbrace{[0,1)}_{J_{0}} \cup \underbrace{[1,2)}_{J_1} \cup \underbrace{[2,3)}_{J_2}\cdots $$ Ahora elija su bijección favorita $$\sigma : \{1,2,3,\ldots\} \to \{\ldots,-2,-1,0,1,2,\ldots\} $$ y escribirlo como una secuencia, por ejemplo $$(\sigma_1,\sigma_2,\sigma_3,\sigma_4,\sigma_5,\ldots) = (0,1,-1,2,-2,\ldots) $$ Para cada $i=1,2,3,\ldots$ , elija una biyección $$g_i : J_{\sigma_i} \to I_i $$ que es posible para dos intervalos semiabiertos cualesquiera.
Por último, defina $$g(x) = g_i(x) \quad\text{if $ x en J_{sigma_i} $} $$