|
|
1.1 root 1: // list test program. reverses standard input
2:
3: #include "String.h"
4: #include "list.h"
5:
6: listdeclare(String)
7:
8: String_list
9: revrev ( String_list x )
10: {
11: String_list ans;
12: while ( x ) {
13: String temp;
14: x.getX(temp);
15: String rtemp;
16: while ( temp ) {
17: char c;
18: temp.getX(c);
19: rtemp.unget(c);
20: }
21: ans.unget(rtemp);
22: }
23: return ans;
24: }
25:
26: String_list
27: rev ( String_list x )
28: {
29: String_list ans;
30: while ( x ) {
31: String temp;
32: x.getX(temp);
33: ans.unget(temp);
34: }
35: return ans;
36: }
37:
38: String_list
39: revrec ( String_list x )
40: {
41: if ( x ) {
42: String temp;
43: x.getX(temp);
44: return revrec(x).put(temp);
45: } else return x;
46: }
47:
48: main()
49: {
50: String_list slist;
51: String temp;
52: while ( cin >> temp)
53: slist.put(temp);
54: cout << "rev(slist):" << rev(slist) << "\n";
55: cout << "revrec(slist):" << revrec(slist) << "\n";
56: cout << "revrev(slist):" << revrev(slist) << "\n";
57: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.