From: Doni Pracner Date: Sat, 7 May 2016 14:08:01 +0000 (+0200) Subject: new sample and tests: linkedlist X-Git-Tag: v0.2.2~10 X-Git-Url: https://svarog.pmf.uns.ac.rs/gitweb/?a=commitdiff_plain;h=29ec0fb6df306b5e226a08ad511099480aff2a1a;p=mjc2wsl.git new sample and tests: linkedlist --- diff --git a/samples/linkedlist.mj b/samples/linkedlist.mj new file mode 100644 index 0000000..6d04746 --- /dev/null +++ b/samples/linkedlist.mj @@ -0,0 +1,85 @@ +program linkedlist + class Element { + int info; + Element next; + } + Element first; +{ + void add(int i) + Element newone; + { + newone = new Element; + newone.info = i; + newone.next = first; + first = newone; + } + + void printlist() + Element cur; + { + cur = first; + while (cur != null) { + print(cur.info); + cur = cur.next; + } + } + + int exists(int i) Element cur; { + cur = first; + while (cur != null && cur.info != i) + cur = cur.next; + if (cur != null) + return 1; + else + return 0; + } + + int count(int i) Element cur; int c;{ + cur = first; + c = 0; + while (cur != null) { + if (cur.info == i) + c++; + cur = cur.next; + } + return c; + } + + void main() + int num; int in; int c; { + print('l'); + print('?'); + read(num); + // demo + if (num<0) { + add(1); + add(2); + add(3); + add(2); + printlist(); + print(exists(7)); + print(count(2)); + } else { + c = 0; + while (c