X-Git-Url: http://git.harvie.cz/?p=svn%2FCll1h%2F.git;a=blobdiff_plain;f=demos%2Flists%2Flists.c;fp=demos%2Flists%2Flists.c;h=9af730ec5eb785da61ee2a9bfe3c9afcee1f5b29;hp=0000000000000000000000000000000000000000;hb=ea514b9e6351878fef9638813f50ce7013e8a832;hpb=eac5d6c70c3babc9056f059edd88a2c1a82bc7e9 diff --git a/demos/lists/lists.c b/demos/lists/lists.c new file mode 100644 index 0000000..9af730e --- /dev/null +++ b/demos/lists/lists.c @@ -0,0 +1,95 @@ +#include "cll1.h" + +def_mem(Record) +{ + int i; + str s; + list(Record); +}; + +program +{ + Record record, records = NULL; + + print("4x insert(record,records,order_by_num,i);"); + + record = get_mem(Record); + record->i = 1; + record->s = "ddd"; + insert(record, records, order_by_num, i); + + record = get_mem(Record); + record->i = 3; + record->s = "BBBB"; + insert(record, records, order_by_num, i); + + record = get_mem(Record); + record->i = 4; + record->s = "e"; + insert(record, records, order_by_num, i); + + record = get_mem(Record); + record->i = 2; + record->s = "aaaa"; + insert(record, records, order_by_num, 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_num_desc,i);"); + + sort(record, records, order_by_num_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); + } +}