📄 treehist.cpp
字号:
// histogramming using a binary search tree
#include <iostream.h>
#include <stdlib.h>
#include "bst.h"
#include "xcept.h"
class eType {
friend void main(void);
friend void Add1(eType&);
friend ostream& operator <<(ostream&, eType);
public:
operator int() const {return key;}
private:
int key, // element value
count; // frequency
};
ostream& operator<<(ostream& out, eType x)
{out << x.key << " " << x.count << " "; return out;}
void Add1(eType& e) {e.count++;}
void main(void)
{// Histogram using a search tree.
BSTree<eType,int> T;
int n; // number of elements
cout << "Enter number of elements" << endl;
cin >> n;
// input elements and enter into tree
for (int i = 1; i <= n; i++) {
eType e; // input element
cout << "Enter element " << i << endl;
cin >> e.key;
e.count = 1;
// put e in tree unless match already there
// in latter case increase count by 1
try {T.InsertVisit(e, Add1);}
catch (NoMem)
{cout << "Out of memory" << endl;
exit(1);}
}
// output distinct elements and their counts
cout << "Distinct elements and frequencies are"
<< endl;
T.Ascend();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -