如何创建一个包含非整数值的数组?

如何创建一个包含非整数值的数组?

现在,我有下面的代码来实现这一点

在此处输入图片描述

但是,我想说明二维数组是数组的数组。我想在框内放置一个唯一的字符串,例如“[3, 1, 4, 1, 5]”、“[2, 4, 6, 8, 10]”等。我希望完全控制框内的字符串。

任何帮助都将不胜感激!

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcounter{index}

\begin{document}

\begin{figure}
\centering
  \begin{tikzpicture}
    \setcounter{index}{0}
    \coordinate (s) at (0,0);
    \foreach \num in {3, 1, 4, 1, 5}{
      \node[minimum size=6mm, draw, rectangle] at (s) {\num};
      \node at ($(s)-(0,0.5)$) {\theindex};
      \stepcounter{index}
      \coordinate (s) at ($(s) + (1,0)$);
    }
  \end{tikzpicture}
  \label{fig:testArray}
\end{figure}

\end{document}

答案1

你的意思是这样吗?我使用了你在问题中提到的第二个选项,也就是说,我将字符串“[3, 1, 4, 1, 5]”放在框内。你实际上不需要,\newcounter{index}因为你使用的是循环计数器。

编辑

下面更新后的答案处理框内的不同条目。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{figure}
\centering
  \begin{tikzpicture}[subarray/.style={minimum size=6mm, draw, anchor=west,xshift=1ex}]
    \node (s0) {};
    \foreach \subarray[count = \num from 0, 
      evaluate=\num as\n using int(\num+1)] in {{[3, 1, 4, 1, 5] },
                                                {[2, 4, 6, 8, 10]},
                                                {[1, 3, 5, 4, 9] },
                                                {[2, 4, 6, 8, 10]},
                                                {[5, 2, 7, 3, 8] }}
      \node (s\n) [subarray] at (s\num.east) {\subarray} node[below=1ex of s\n]{\num};
  \end{tikzpicture}
  \label{fig:testArray}
\end{figure}

\end{document}

在此处输入图片描述

相关内容