算法中如何写 if 然后?

算法中如何写 if 然后?

我想在这个算法中写入如果为了。 我怎样才能做到这一点?

\begin{algorithm}[H]
\caption{Algorithm Gaussian elimination with patrial pivoting}
\SetAlgoLined
\For{$i=1:1:n$}{
        $p_{i} = i;$
    }       
    {
    }  
    \For{$k=1:1:n$}{
        $max=|a_{pk}k|$\\
        \For{$i\;=k+1:1:n$}{
            \if{$max<|a_{pk}k|$}

            {}
            {
            }
               $a_{i}{j}\;=a_{i}{j} - m_{i}{k}a_{k}{j};$\\

喜欢这个算法

我试过

\begin{algorithm}[H]
\caption{Algorithm Gaussian elimination with patrial pivoting}
\SetAlgoLined
\For{$i=1:1:n$}{
        $p_{i} = i;$
    }       
    {
    }  
    \For{$k=1:1:n$}{
        $max=|a_{pk}k|$\\
        \For{$i\;=k+1:1:n$}{
            \if{$max<|a_{pk}k|$} 
            {
                $max<|a_{pk}k|$
            }
            }
            {
            }
               $a_{i}{j}\;=a_{i}{j} - m_{i}{k}a_{k}{j};$\\
        {             
    }   
  }
          $b_{i}=b_{i}-m_{i}{k}b_{k};$

但它告诉我不完整\if

答案1

\For通过调整与之关联的关键字组件\SetKwFor

在此处输入图片描述

\documentclass{article}

\usepackage{algorithm2e}

\SetKwFor{For}{for if}{do}{end for}

\begin{document}

\begin{algorithm}
  \caption{Some algorithm}
  \SetAlgoLined
  \For{$i=1:1:n$}{
    Do something
  }
\end{algorithm}

\end{document}

如果你想如果...那么使用

\SetKwFor{For}{for if}{then}{end for}

在此处输入图片描述

答案2

我找到了解决办法

\begin{algorithm}[H]{
\caption{Algorithm Gaussian elimination with patrial pivoting}
\SetAlgoLined
\For{$i=1:1:n$}{
        $p_{i} = i;$
    }       
    {
    }  
    \For{$k=1:1:n$}{
        $max=|a_{pk}k|$\\
        \For{$i\;=k+1:1:n$}{
           \If{$max=|a_{pk}k|$}{$l= i;$\\$max = |a_{pk}k|$}
            }
              $r=pl;$\\
              $pl = pk$\\
              $pk = r;$  
              \For{$i=k+1:1:n$}{
                $a_{pi}j = a_{pi}ka_{pj}ka_{pk}j;$  
              }

           }

相关内容