X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=demos%2Ftrees.c;h=dff0ddafdeea0213c17f41f1ed2a0e3b4c2f500b;hb=3fa0c74773fa632501756e88ec11a2929b171bb5;hp=44c9ad5903c6eda277c02ad921ffa69dbea5bf16;hpb=14e7e05a2fb08966aa8039c31519caa5d4b08a93;p=svn%2FCll1h%2F.git diff --git a/demos/trees.c b/demos/trees.c index 44c9ad5..dff0dda 100644 --- a/demos/trees.c +++ b/demos/trees.c @@ -22,24 +22,25 @@ program //grow tree { - void *prev = NULL, *newleaf = leaf; - + void *prev=NULL, *newleaf=leaf; //find where to store - for(leaf=root; leaf && leaf->__key <= newkey ; leaf=leaf->__next) + for(leaf=root; leaf && leaf->__key<=newkey ; leaf=leaf->__next) { - prev = leaf; - if(leaf->__seek && leaf->__seek->key <= newkey) leaf=leaf->__seek; + prev=leaf; + if(leaf->__seek && leaf->__seek->key<=newkey) leaf=leaf->__seek; } - //store new node + leaf=newleaf; if(prev) { - + leaf->__next=prev->__next->__next; + prev->__next=leaf; } else - { - - } + leaf->__next=root; + //auto seek + if(leaf->__next->__next;) + leaf->__seek=leaf->__next->__next; //reindex B+ tree for(leaf=root; leaf->__next ; leaf=leaf->__next)