|
|
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.