方式一
-
需要包含的
\usepackage[noend]{algpseudocode} \usepackage{algorithmicx,algorithm}
-
源码
\begin{algorithm}[t] \caption{algorithm caption} %算法的名字 \hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行 input parameters A, B, C\\ \hspace*{0.02in} {\bf Output:} %算法的结果输出 output result \begin{algorithmic}[1] \State some description % \State 后写一般语句 \For{condition} % For 语句,需要和EndFor对应 \State ... \If{condition} % If 语句,需要和EndIf对应 \State ... \Else \State ... \EndIf \EndFor \While{condition} % While语句,需要和EndWhile对应 \State ... \EndWhile \State \Return result \end{algorithmic} \end{algorithm}
注意:
- 关键字的大小写问题,否则会出现 Undefined control sequence.
- 控制流要前后对应。如果有 While,但没有 EndWhile,否则会出现 Some blocks are not closed。
方式二
-
需要包含的
\usepackage[ruled]{algorithm2e}
-
源码
\begin{algorithm}[H] \caption{algorithm caption}%算法名字 \LinesNumbered %要求显示行号 \KwIn{input parameters A, B, C}%输入参数 \KwOut{output result}%输出 some description\; %\;用于换行 \For{condition}{ only if\; \If{condition}{ 1\; } } \While{not at end of this document}{ if and else\; \eIf{condition}{ 1\; }{ 2\; } } \ForEach{condition}{ \If{condition}{ 1\; } } \end{algorithm}
方式三
-
需要包含的
\usepackage[ruled,vlined]{algorithm2e}
-
源码
\begin{algorithm}[H] \caption{algorithm caption}%算法名字 \LinesNumbered %要求显示行号 \KwIn{input parameters A, B, C}%输入参数 \KwOut{output result}%输出 some description\; %\;用于换行 \For{condition}{ only if\; \If{condition}{ 1\; } } \While{not at end of this document}{ if and else\; \eIf{condition}{ 1\; }{ 2\; } } \ForEach{condition}{ \If{condition}{ 1\; } } \end{algorithm}
更多关于表格的信息,参考: