X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=demos%2Flists.c;h=81eddae23c3750e2ebb40e54f55610d15f5b96be;hb=3f49056d3d4121eff6a0777c7b24c13c54fc0953;hp=008e13b7023b3f5b8e0b2fcf369b9b4a9f9b8b78;hpb=04a13a6fec5593523e15bd3567c573b7749b2609;p=svn%2FCll1h%2F.git diff --git a/demos/lists.c b/demos/lists.c index 008e13b..81eddae 100644 --- a/demos/lists.c +++ b/demos/lists.c @@ -1,54 +1,91 @@ - #include "cll1.h" -struct Zaznam +def_mem(Record) { int i; - char *j; - list(Zaznam); -} *zaznam,*zaznamy=NULL; + str s; + list(Record); +}; program { - puts("4x insert(zaznam,zaznamy,order_by,i);"); - create(zaznam, Zaznam); - zaznam->i=1; - zaznam->j="ddd"; - insert(zaznam,zaznamy,order_by,i); - create(zaznam, Zaznam); - zaznam->i=3; - zaznam->j="bbbbb"; - insert(zaznam,zaznamy,order_by,i); - create(zaznam, Zaznam); - zaznam->i=0; - zaznam->j="e"; - insert(zaznam,zaznamy,order_by,i); - create(zaznam, Zaznam); - zaznam->i=2; - zaznam->j="cc"; - insert(zaznam,zaznamy,order_by,i); - for_each(zaznam,zaznamy)printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - puts("1x append(zaznam,zaznamy);"); - create(zaznam, Zaznam); - zaznam->i=4; - zaznam->j="aaa"; - append(zaznam,zaznamy); - for_each(zaznam,zaznamy)printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - puts("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); - - puts("sort(zaznam,zaznamy,desc_sort_by,j);"); - sort(zaznam,zaznamy,desc_sort_by,j); - for_each(zaznam,zaznamy)printf("i=%d, j=%s\n",zaznam->i,zaznam->j); - - puts("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); - - puts("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); + } }