Difference between Functions and non - Functions.
$f$ is called a function, if for a given input $x$ it will always produce the same result, $y$. Which means it will always map $x \rightarrow y$, $x$ to $y$.
$f$ will not be a functions, if it sometimes map $x$ to $y$ and some times, to $z$, i.e.
$f(x) = y$ and $f(x)=z$ both are true.
one-to-one and one one are basically the same thing, it means that the mapping is one to one, and its unique.
if $f(x) = y$ then no other input to $f$ should give $y$.
This of this as mapping husbands to their wives. A man will be mapped to a woman, and no other man can be mapped to her.
Surjection.
When all the elements of co-domain (range) are mapped to some element from domain.
Not a Surjection as C is left without a mapping.
Surjection.
Think of this as a mapping from parents to children. No child can be left without a parent.
Injection.
Injection means that a elements in the co-domain will either have no mapping, or will have a single mapping and not more than that.
Injection
Injection
Not an Injection
A mapping which is both surjection and injection is called bijection.
Hope this helps.