|
|
1.1 root 1: /* sort standard input and print unique Strings */
2:
3: #include "String.h"
4: #include "list.h"
5:
6: listdeclare(String)
7:
8: main()
9: {
10: String s;
11: String_list myList;
12: /* input */
13: while (cin >> s)
14: myList.put(s);
15: /* (bubble) sort */
16: int swapFlag;
17: int loopCount = 0, swapCount = 0;
18: if ( myList )
19: do {
20: swapFlag = FALSE;
21: String_list_iterator it(myList);
22: String x;
23: String y;
24: while ( it.nextX(x) && it.peekX(y) ) {
25: loopCount++;
26: if ( x > y ) {
27: it.replace(y);
28: it.r_replace(x);
29: swapFlag = TRUE;
30: swapCount++;
31: } else if ( x == y )
32: it.remove();
33: }
34: } while ( swapFlag );
35: /* print result */
36: cout << myList;
37: cout << "\nloopCount = " << loopCount << ", swapCount = " << swapCount << "\n";
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.