There is an easy $2$-approximation algorithm for finding a minimum size maximal matching.  Simply find *any* maximal matching.  Note that a maximal matching $M$ can be found greedily.  Initialize $M=\emptyset$.  Add any edge $xy$ to $M$, and in $G -x-y$ search for another edge to add and recurse.  

Let $m$ be the size of a minimum maximal matching.  To show that this is a $2$-approximation, we must check that for every maximal matching $M$, $|M| \leq 2m$.  To see this let $V(M)$ be the vertices covered by $M$. Every minimum maximal matching $M_0$ must cover at least half the vertices of $V(M)$, otherwise we can extend $M_0$ via an edge in $M$.