X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=demos%2Flists.c;h=81eddae23c3750e2ebb40e54f55610d15f5b96be;hb=eac5d6c70c3babc9056f059edd88a2c1a82bc7e9;hp=e31102eeed03411b19c135c6256b3ef5b839b2d6;hpb=25a3f4304e39dce85a217fd3166df867a5d75b96;p=svn%2FCll1h%2F.git diff --git a/demos/lists.c b/demos/lists.c index e31102e..81eddae 100644 --- a/demos/lists.c +++ b/demos/lists.c @@ -1,55 +1,91 @@ #include "cll1.h" -mem Zaznam +def_mem(Record) { int i; - char *j; - list(Zaznam); + str s; + list(Record); }; program { - def_mems(zaznam,zaznamy,Zaznam); - - print("4x insert(zaznam,zaznamy,order_by,i);"); - zaznam=get_mem(Zaznam); - zaznam->i=1; - zaznam->j="ddd"; - insert(zaznam,zaznamy,order_by,i); - zaznam=get_mem(Zaznam); - zaznam->i=3; - zaznam->j="bbbbb"; - insert(zaznam,zaznamy,order_by,i); - zaznam=get_mem(Zaznam); - zaznam->i=4; - zaznam->j="e"; - insert(zaznam,zaznamy,order_by,i); - zaznam=get_mem(Zaznam); - zaznam->i=2; - zaznam->j="aaaa"; - insert(zaznam,zaznamy,order_by,i); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - print("1x append(zaznam,zaznamy);"); - zaznam=get_mem(Zaznam); - zaznam->i=0; - zaznam->j="ccc"; - append(zaznam,zaznamy); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - print("sort(zaznam,zaznamy,desc_order_by,i);"); - sort(zaznam,zaznamy,desc_order_by,i); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - print("sort(zaznam,zaznamy,sort_by,j);"); - sort(zaznam,zaznamy,sort_by,j); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - print("remove(zaznam,zaznamy,zaznam->i==1);"); - remove(zaznam,zaznamy,zaznam->i==1); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - print("drop(zaznam,zaznamy);"); - drop(zaznam,zaznamy); - for_each(zaznam,zaznamy) printf("i=%d, j=%s\n",zaznam->i,zaznam->j); + Record record, records=NULL; + + print("4x insert(record,records,order_by_int,i);"); + + record=get_mem(Record); + record->i=1; + record->s="ddd"; + insert(record,records,order_by_int,i); + + record=get_mem(Record); + record->i=3; + record->s="BBBB"; + insert(record,records,order_by_int,i); + + record=get_mem(Record); + record->i=4; + record->s="e"; + insert(record,records,order_by_int,i); + + record=get_mem(Record); + record->i=2; + record->s="aaaa"; + insert(record,records,order_by_int,i); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("1x append(record,records);"); + record=get_mem(Record); + record->i=0; + record->s="ccc"; + append(record,records); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("sort(record,records,order_by_int_desc,i);"); + sort(record,records,order_by_int_desc,i); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("sort(record,records,order_by_str,s);"); + sort(record,records,order_by_str,s); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("sort(record,records,order_by_ascii_desc,s);"); + sort(record,records,order_by_ascii_desc,s); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("remove(record,records,record->i==1);"); + remove(record,records,record->i==1); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } + + print("drop(record,records);"); + drop(record,records); + + for_each(record,records) + { + printf("i=%d, s=%s\n",record->i,record->s); + } }