方式一
- 需要包含的
usepackage[noend]{algpseudocode}
usepackage{algorithmicx,algorithm}
- 源码
egin{algorithm}[t]
caption{algorithm caption} %算法的名字
hspace*{0.02in} {f Input:} %算法的输入, hspace*{0.02in}用来控制位置,同时利用 \ 进行换行
input parameters A, B, C\
hspace*{0.02in} {f Output:} %算法的结果输出
output result
egin{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}
- 源码
egin{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}
- 源码
egin{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}
更多关于表格的信息,参考: