|
|
1.1 root 1: // list test program. sort standard input
2: #include "String.h"
3: #include "list.h"
4:
5: listdeclare(String)
6: listoutimplement(String)
7:
8: String_list
9: sort(String_list in) // quicksort
10: {
11: String_list low;
12: String_list high;
13: String middle;
14: if (in.length() <= 1)
15: return in;
16: in.getX(middle);
17: while(in) {
18: String temp;
19: in.getX(temp);
20: int c;
21: if ((c = temp.compare(middle)) < 0 )
22: low.put(temp);
23: else if ( c > 0 )
24: high.put(temp);
25: }
26: if ( low.length() > high.length() )
27: high.put(middle);
28: else
29: low.put(middle);
30: return sort(low) + sort(high);
31: }
32:
33: main()
34: {
35: String s;
36: String_list myList;
37: /* input */
38: while (cin >> s)
39: myList.put(s);
40: cout << sort(myList) << "\n";
41: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.