Advertisement
Guest User

Untitled

a guest
May 27th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <iostream>
  2. #include<ctime>
  3. #include<iomanip>
  4. #define Error 0x7FFF
  5.  
  6. using namespace std;
  7.  
  8. struct node{
  9.     int key;
  10.     node *left,*right;
  11. };
  12.  
  13. typedef struct t{
  14.     struct node *node_tree;
  15.     struct t *next;
  16. }Tree;
  17.  
  18.  
  19. struct node *newNode(int key){
  20.     struct node *temp = new struct node;
  21.     temp->key = key;
  22.     temp->left = temp->right = NULL;
  23.     return temp;
  24. }
  25.  
  26. struct node *insert(struct node* node, int key){
  27.     if (node == NULL) return newNode(key);
  28.    
  29.     if (key < node->key) node->left = insert(node->left,key);
  30.     else if (key >= node->key) node->right = insert(node->right,key);
  31.    
  32.     return node;
  33. }
  34.  
  35. Tree* add(Tree* List,struct node* node_tree){
  36.     Tree *newel = new Tree;
  37.     newel->node_tree = node_tree;
  38.     newel->next = List;
  39.     return newel;
  40. }
  41.  
  42.  
  43. struct node* deleter(Tree** List){
  44.     struct node* d;
  45.     if ((*List) != NULL){
  46.         d = (*List)->node_tree;
  47.         *List = (*List)->next;
  48.     }else{
  49.         cout << "ERROR!";
  50.     }
  51.     return d;
  52. }
  53.  
  54. void show(struct node* Root){
  55.     Tree* Struct = NULL;
  56.     add(Struct,Root);
  57.     cout<<endl<<"....."<<Struct->node_tree->key<<".....";
  58.     while (Struct != NULL){
  59.         struct node* temp = deleter(&Struct);
  60.         cout << setw(5) << temp->key;
  61.         if (temp->left != NULL)  add(Struct,temp->left);
  62.         if (temp->right != NULL) add(Struct,temp->right);
  63.     }
  64. }
  65.  
  66.  
  67. int main(int argc, char** argv) {
  68.     struct node *root = NULL;
  69.     root = newNode(100);
  70.     insert(root,30);
  71.     insert(root,10);
  72.     insert(root,80);
  73.     insert(root,90);
  74.    
  75.     show(root);
  76.    
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement