Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- typedef struct Node *po;
- void printTriTo(po help);
- void doStuff(int x);
- po root;
- struct Node {//всеки елемент на дървото
- int Data;
- po Left;
- po Right;
- };
- int main(){
- int x;
- do{
- cout << "Please enter x:" << endl;
- cin >> x;
- doStuff(x);
- cout << endl;
- cout << "Printing tree" << endl;
- cout << endl;
- printTriTo(root);
- } while (true);
- }
- void doStuff(int x) {
- po dataOrg;
- dataOrg = new Node;
- dataOrg->Data = x;
- dataOrg->Left = NULL;
- dataOrg->Right = NULL;
- if (root == NULL) {
- root = dataOrg;
- }
- else {
- po loc, insert;
- insert = root;
- loc = root;
- while (loc != NULL && loc->Data != x) {
- insert = loc;
- if (x < loc->Data) {
- loc = loc->Left;
- }
- else {
- loc = loc->Right;
- }
- }
- if (loc == NULL) {
- if (x < insert->Data) {
- insert->Left = dataOrg;
- }
- else {
- insert->Right = dataOrg;
- }
- }
- else {
- cout << "The element is already here!" << endl;
- return;
- }
- }
- }
- void printTriTo(po help) {
- if (help == NULL) return;
- printTriTo(help->Left);
- cout << help->Data << endl;
- printTriTo(help->Right);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement