Place four algorithms (algorithm2e) in a subfigure and arrange them in two rows and two columns

You can use the subfigure environment from the subcaption package as follows.

screenshot

Note that the subfigure environment takes the same optional arguments that minipage does, so if you find yourself in a situation with different size code snippets you can use (for example) \begin{subfigure}[t]{.5\textwidth}...

\documentclass{article}
\usepackage{algorithm2e}
\usepackage{subcaption}

\newcommand{\myalgorithm}{%
\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\end{algorithm}}
\begin{document}

\begin{figure}
    \begin{subfigure}{.5\textwidth}
        \myalgorithm
        \caption{How to write algorithms}
    \end{subfigure}% need this comment symbol to avoid overfull hbox
    \begin{subfigure}{.5\textwidth}
        \myalgorithm
        \caption{How to write algorithms}
    \end{subfigure}\\
    \begin{subfigure}{.5\textwidth}
        \myalgorithm
        \caption{How to write algorithms}
    \end{subfigure}%
    \begin{subfigure}{.5\textwidth}
        \myalgorithm
        \caption{How to write algorithms}
    \end{subfigure}
\caption{Main caption}
\end{figure}


\end{document}

Here is an option - it requires you to wrap each algorithm inside a minipage.

enter image description here

\documentclass{article}
\usepackage[a3paper,landscape]{geometry}% http://ctan.org/pkg/geometry
\usepackage{algorithm2e}% http://ctan.org/pkg/algorithm2e
\newcommand{\myalg}[1]{%
  \begin{minipage}{.4\linewidth}
    \begin{algorithm}[H]
      \SetAlgoLined
      \KwData{this text}
      \KwResult{how to write algorithm with \LaTeX2e }
      
      initialization\;
      \While{not at end of this document}{
        read current\;
        \eIf{understand}{
          go to next section\;
          current section becomes this one\;
        }{
          go back to the beginning of current section\;
        }
      }%
      \caption{How to write algorithms}%
      \label{#1}%
    \end{algorithm}%
  \end{minipage}%
}
\begin{document}

\begin{figure}[htb]
  \null\hfill \myalg{alg1} \hfill \myalg{alg2} \hfill\null\par \medskip
  \null\hfill \myalg{alg3} \hfill \myalg{alg4} \hfill\null
  \caption{Here are some algorithms.}
\end{figure}
\end{document}

In the above example and for the sake of brevity, I've made the command \myalg{<lab>} typeset the same algorithm just with a different label <lab>. This allows you to reference the individual algorithms within the actual figure. Of course, you could change this to just represent (a), (b), (c) and (d).

geometry provided a3paper and landscape orientation, since the algorithms were just examples (which were large). You might not require this in your regular usage. The same goes for the choice of .4\linewidth in your minipage. You could adjust this, depending on your eventual output. minipage also allows for an option argument specifying the vertical alignment. So, for example, if Algorithm2 is shorter than Algorithm 1, you could specify [t] for the second so their are vertically aligned at the top.