|
|
1.1 root 1: // list test program. Sorts standard input, prints with counts
2:
3: #include "pair_list.h"
4:
5: listoutimplement(pair)
6:
7: pair_list
8: sort(pair_list aList) // straight insertion
9: {
10: pair_list_iterator unsorted(aList);
11: if ( unsorted.next() ) {
12: pair p;
13: while ( unsorted.r_removeX(p) ) {
14: pair_list_iterator sorted = unsorted;
15: pair *q; // pointer into sorted part
16: while ( sorted.r_nextX(q) && q->name > p.name )
17: ;
18: if ( q->name < p.name )
19: sorted.next(); // back up
20: else if ( q->name == p.name ) {
21: q->count++;
22: continue;
23: }
24: sorted.r_insert(p);
25: }
26: }
27: return aList;
28: }
29: main()
30: {
31: String s;
32: pair_list myList;
33: while (cin >> s)
34: myList.put(pair(s));
35: myOut(cout, sort(myList));
36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.