X-Git-Url: http://git.harvie.cz/?p=svn%2FCll1h%2F.git;a=blobdiff_plain;f=demos%2Ftrees.c;fp=demos%2Ftrees.c;h=0000000000000000000000000000000000000000;hp=87de03451f4b6ebc98c1b723d2b2396219e04577;hb=e63f1bc2438012b5f2f6592a474892501149af18;hpb=6a60bc82e8b8e6cccd0d4c2214a1f291662215f0 diff --git a/demos/trees.c b/demos/trees.c deleted file mode 100644 index 87de034..0000000 --- a/demos/trees.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "cll1.h" - -def_mem(Leaf) -{ - int seq; - array(Leaf); -}; - -program -{ - Leaf leaf,root=NULL; - int newkey; - int seq=0; - int odd=1; - - print("Input values:"); - for_ints(newkey, 8,1,-2,745,-32,-64,27,4,-300,0,300,40,-30,-40,400, 200 ) - { - printf("%d. [%d]\n",seq,newkey); - - leaf=get_mem(Leaf); - leaf->seq=seq++; - - //store(leaf,root,newkey) is declared as: - - //init - leaf->__next=NULL; - leaf->__seek=NULL; - leaf->__key=newkey; - - //store new node without indexing, first - insert(leaf,root,order_by_num,__key); - - //reindex B+ tree - for(leaf=root;leaf->__next;leaf=leaf->__next) - { - //auto seek - if(!leaf->__seek && leaf->__next) - leaf->__seek=leaf->__next->__next; - - if(leaf->__key<=newkey) - { - if(leaf->__seek && leaf->__seek->__key>newkey) leaf->__seek=leaf->__seek->__next; - } - else - { - if(odd && leaf->__seek) - { - leaf->__seek==leaf->__seek->__next; - } - else - { - leaf->__seek=leaf->__next->__seek; - leaf->__next->__seek=NULL; - } - odd=1-odd; - } - } - } - - print("Values were stored as:"); - for_each(leaf,root) - { - printf("%d. [%d]",leaf->seq,leaf->__key); - if (leaf->__seek) - printf("-> %d. [%d]\n",leaf->__seek->seq,leaf->__seek->__key); - else - print(""); - } -}