order_by_int renamed to order_by_num + some experiments with lists
[svn/Cll1h/.git] / demos / lists / lists.c
diff --git a/demos/lists/lists.c b/demos/lists/lists.c
new file mode 100644 (file)
index 0000000..9af730e
--- /dev/null
@@ -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);
+ }
+}
This page took 0.145367 seconds and 4 git commands to generate.