order_by_int, order_by_str, order_by_ascii + some examples
[svn/Cll1h/.git] / demos / lists.c
CommitLineData
30628092 1#include "cll1.h"
2
4643aeaf 3def_mem(Record)
30628092 4{
5 int i;
61ad8a2b 6 str s;
4643aeaf 7 list(Record);
f5725936 8};
30628092 9
04a13a6f 10program
30628092 11{
4643aeaf 12 Record record,records=NULL;
13
ce26b4aa 14 print("4x insert(record,records,order_by,i);");
4643aeaf 15
16 record=get_mem(Record);
17 record->i=1;
18 record->s="ddd";
ce26b4aa 19 insert(record,records,order_by_int,i);
4643aeaf 20
21 record=get_mem(Record);
22 record->i=3;
ce26b4aa 23 record->s="BBBB";
24 insert(record,records,order_by_int,i);
4643aeaf 25
26 record=get_mem(Record);
27 record->i=4;
28 record->s="e";
ce26b4aa 29 insert(record,records,order_by_int,i);
4643aeaf 30
31 record=get_mem(Record);
32 record->i=2;
33 record->s="aaaa";
ce26b4aa 34 insert(record,records,order_by_int,i);
4643aeaf 35
ce26b4aa 36 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
4643aeaf 37
ce26b4aa 38 print("1x append(record,records);");
4643aeaf 39 record=get_mem(Record);
40 record->i=0;
41 record->s="ccc";
ce26b4aa 42 append(record,records);
43 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
4643aeaf 44
ce26b4aa 45 print("sort(record,records,order_by_int_desc,i);");
46 sort(record,records,order_by_int_desc,i);
47 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
4643aeaf 48
ce26b4aa 49 print("sort(record,records,order_by_str,s);");
50 sort(record,records,order_by_str,s);
51 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
4643aeaf 52
ce26b4aa 53 print("sort(record,records,order_by_ascii_desc,s);");
54 sort(record,records,order_by_ascii_desc,s);
55 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
4643aeaf 56
ce26b4aa 57 print("remove(record,records,record->i==1);");
58 remove(record,records,record->i==1);
59 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
60
61 print("drop(record,records);");
62 drop(record,records);
63 for_each(record,records) printf("i=%d, s=%s\n",record->i,record->s);
30628092 64}
This page took 0.190831 seconds and 4 git commands to generate.