引入的包
\usepackage{algorithmic}
\usepackage{algorithm,float}
这些包会和其他的算法包比如algorithml2e冲突。
可分页的算法格式
\makeatletter
\newenvironment{breakablealgorithm}
{% \begin{breakablealgorithm}
\begin{center}
\refstepcounter{algorithm}% New algorithm
\hrule height.8pt depth0pt \kern2pt% \@fs@pre for \@fs@ruled 画线
\renewcommand{\caption}[2][\relax]{% Make a new \caption
{\raggedright\textbf{\ALG@name~\thealgorithm} ##2\par}%
\ifx\relax##1\relax % #1 is \relax
\addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##2}%
\else % #1 is not \relax
\addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##1}%
\fi
\kern2pt\hrule\kern2pt
}
}{% \end{breakablealgorithm}
\kern2pt\hrule\relax% \@fs@post for \@fs@ruled 画线
\end{center}
}
\makeatother
使用方法
\begin{breakablealgorithm}
\caption{标题}
\hspace*{0.02in} \raggedright {\bf Input:} %开头格式、左对齐的Input语句
Input语句内容 \\ % 换行符
\hspace*{0.02in} \raggedright {\bf Output:}
Output语句内容 \\
\begin{algorithmic}[1]
\STATE 算法语句 %每一句都要
\end{algorithmic}
\end{breakablealgorithm}