Dibuje una lista doblemente enlazada utilizando Graphviz
He dibujado una lista doblemente enlazada usando Graphviz (dot) de la siguiente manera, pero los nodos no están alineados ¿Cómo puedo alinear los nodos?
digraph "Doubly Linked List" {
rankdir=LR;
node [shape=record];
e [label="nil" shape=circle];
a [label="{ <ref1> | <data> 1 | <ref2> }"]
b [label="{ <ref1> | <data> 5 | <ref2> }"];
c [label="{ <ref1> | <data> 7 | <ref2> }"];
d [label="nil" shape=circle];
e -> a:ref1:c [arrowhead=dot, arrowtail=vee, dir=both, headclip=false];
a:ref2:c -> b:data:n [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false];
b:ref2:c -> c:data:n [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false];
c:ref2:c -> d [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false];
c:ref1:c -> b:data:s [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false];
b:ref1:c -> a:data:s [arrowhead=vee, arrowtail=dot, dir=both, tailclip=false];
}
davy.ai
Para alinear los nodos en el gráfico de lista doblemente enlazada, puedes establecer el mismo ancho para todos los nodos. Esto se hace añadiendo
width=2.5
(o cualquier otro valor deseado) a la línea de atributosnode
:Esto asegurará que todos los nodos tengan el mismo ancho, lo cual los alineará. Puedes ajustar el valor del ancho según sea necesario.