Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<ctime>
- #include<iomanip>
- #define Error 0x7FFF
- using namespace std;
- struct node{
- int key;
- node *left,*right;
- };
- typedef struct t{
- struct node *node_tree;
- struct t *next;
- }Tree;
- struct node *newNode(int key){
- struct node *temp = new struct node;
- temp->key = key;
- temp->left = temp->right = NULL;
- return temp;
- }
- struct node *insert(struct node* node, int key){
- if (node == NULL) return newNode(key);
- if (key < node->key) node->left = insert(node->left,key);
- else if (key >= node->key) node->right = insert(node->right,key);
- return node;
- }
- Tree* add(Tree* List,struct node* node_tree){
- Tree *newel = new Tree;
- newel->node_tree = node_tree;
- newel->next = List;
- return newel;
- }
- struct node* deleter(Tree** List){
- struct node* d;
- if ((*List) != NULL){
- d = (*List)->node_tree;
- *List = (*List)->next;
- }else{
- cout << "ERROR!";
- }
- return d;
- }
- void show(struct node* Root){
- Tree* Struct = NULL;
- add(Struct,Root);
- cout<<endl<<"....."<<Struct->node_tree->key<<".....";
- while (Struct != NULL){
- struct node* temp = deleter(&Struct);
- cout << setw(5) << temp->key;
- if (temp->left != NULL) add(Struct,temp->left);
- if (temp->right != NULL) add(Struct,temp->right);
- }
- }
- int main(int argc, char** argv) {
- struct node *root = NULL;
- root = newNode(100);
- insert(root,30);
- insert(root,10);
- insert(root,80);
- insert(root,90);
- show(root);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement