gpt4 book ai didi

Graphviz绘制数组数据结构

转载 作者:行者123 更新时间:2023-12-02 22:00:06 27 4
gpt4 key购买 nike

我可以使用“record”来绘制一个像这样的数组:

graph G{
node [shape = record];
node0 [fontsize=13, label ="A[0]|A[1]|A[2]"];
}

但是我怎样才能画出这样的东西

特别是,如何为数组中的每个单元格添加索引号,例如 0,1,2,3,4,5。

我应该使用哪种节点形状?

<小时/>

更新于2016年11月11日

好的,我是根据https://stackoverflow.com/a/37986662/5374561的回答得到的

代码在这里:

digraph so
{
rankdir=LR;
subgraph cluster0
{
rank = same{ Array notes }
color = white;
Array [ shape = record, label = "{ A | B | C | D }"] ;
notes [ shape = record, color = white, label = "{ 0 | 1 | 2 | 3 }" ];
Array -> notes[ style = invis ];
}
nodesep = .0;
}

但结果并不完美。还有其他方法吗?

<小时/>

更新于2016年8月9日

tequlia2pop(谢谢)的解决方案与原始图片接近,但从“指针”到“值”的线应该是直线。

最佳答案

digraph {
node [shape=plaintext, fontcolor=red, fontsize=18];
"Pointers:" -> "Values:" -> "Indices:" [color=white];

node [shape=record, fontcolor=black, fontsize=14, width=4.75, fixedsize=true];
pointers [label="<f0> A | <f1> A+1 | <f2> A+2 | <f3> A+3 | <f4> A+4 | <f5> A+5", color=white];
values [label="<f0> A[0] | <f1> A[1] | <f2> A[2] | <f3> A[3] | <f4> A[4] | <f5> A[5]", color=blue, fillcolor=lightblue, style=filled];
indices [label="0 | 1 | 2 | 3| 4 | 5", color=white];

{ rank=same; "Pointers:"; pointers }
{ rank=same; "Values:"; values }
{ rank=same; "Indices:"; indices }

edge [color=blue];
pointers:f0 -> values:f0;
pointers:f1 -> values:f1;
pointers:f2 -> values:f2;
pointers:f3 -> values:f3;
pointers:f4 -> values:f4;
pointers:f5 -> values:f5;
}

产生

image link

关于Graphviz绘制数组数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40541091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com