struct quadtree *tmp = start, *node;
int i, d = nodes / 2;
- while (nodes) {
+ for (i = 0; i < nodes; i++) {
+ printf("Node %p, prev %p, next %p\n",
+ list_to_tree(&tmp->list),
+ list_to_tree(tmp->list.prev),
+ list_to_tree(tmp->list.next));
+ fflush(stdout);
+ tmp = list_to_tree(tmp->list.next);
+ };
+
+ for (; nodes > 0; nodes--) {
if (debug) {
printf("stepping %d, %d nodes left\n", d, nodes);
fflush(stdout);
}
+/*
for (i = 0; i < d; i++)
tmp = list_to_tree(tmp->list.next);
+*/
if (debug) {
- printf("Now moving mode %p\n", tmp);
+ printf("Now moving node %p\n", tmp);
fflush(stdout);
}
+ node = tmp;
+ tmp = list_to_tree(tmp->list.next);
- node = list_to_tree(tmp->list.next);
list_del(&node->list);
quadtree_add(parent, node, ops);
- nodes--;
d /= 2;
if (d == 0)