一个例子如何在 algorithm2e 环境中生成“end if”、“end for”和“end while”?

一个例子如何在 algorithm2e 环境中生成“end if”、“end for”和“end while”?

有人能通过一个例子向我展示如何在 algorithm2e 环境中生成“end if”、“end for”和“end while”吗?您好,谢谢您的回答,我尝试上传我想在 algorithm2e 环境中编写的算法,我也尝试执行其中的一部分,但您能帮我让它无错误并完成吗?谢谢

\documentclass[11pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage[ruled, noline]{algorithm2e}
\usepackage{algpseudocode}
\begin{document}

这是我的算法

\begin{algorithm}
\SetKw{KwBy}{by}
\SetAlgoLined
\DontPrintSemicolon
$k\gets 0$

$M_a\gets 0$

$M_b\gets 0$

\lWhile{something}{

\For{$p \in \{a,b\}$}{

\lIf{something}{

$M_p \gets M_p +1$
 
something

\Else

\If{M_p=M}{

something


\EndIf

\Else{something}
}
}
}
$k\gets k + 1$

\If{$M_a = M$ and $M_b = M$}{
        $M_a \gets 0$
        
        $M_b \gets 0$
        }
        }
        \end{algorithm}

答案1

noend从参数中删除algorithm2enoend明确告诉包不要呈现结束语句。

这是您的 MWE:

\documentclass[11pt]{article}

\usepackage[margin=3cm]{geometry}
\usepackage[ruled, noline]{algorithm2e} % <-- HERE
\usepackage{algpseudocode}

\begin{document}

    \begin{algorithm}
        \caption{Your algorithm}
    
        $i\gets 10$\;
        \eIf{$i\geq 5$}
        {
            $i\gets i-1$\;
        }{
            \If{$i\leq 3$}
            {
                $i\gets i+2$\;
            }
        }
    \end{algorithm}
    
\end{document}

在此处输入图片描述

相关内容