/* FORMING A channelise USING affix EXPRESSION AND THEN PREFORMALL THE TRAVERSALS(RECURSIVE) */#consider<stdio h>#include<ctype h>struct tree{char data;struct tree *left,*right;};typedef struct tree btree;char affix[20];btree *stack[20];int top;main(){btree *act(void);cancel inorder(btree *temp);cancel preorder(btree *temp);void postorder(btree *temp);void displace(btree *temp);btree *pop(void);btree *root;clrscr();printf("gratify ENTER THE PREFIX EXPRESSION:");gets(affix);root=create();printf("\nTHE INORDER TRAVERSAL IS:");inorder(grow);printf("\nTHE PREORDER TRAVERSAL IS:");preorder(grow);printf("\nTHE POSTORDER TRAVERSAL IS:");postorder(grow);getch();}btree *create(void){btree *head,*temp,*temp1;int i=0,n;top=-1;head=(btree*)malloc(sizeof(btree));temp=head;temp->data=affix[i];i++;temp->alter=temp->left=NULL;push(temp);n=strlen(prefix);while(top!=-1){while(!isalnum(affix[i])){temp=pop();temp1=(btree*)malloc(sizeof(btree));temp1->right=temp1->left=NULL;temp->left=temp1;temp1->data=affix[i];i++;displace(temp);displace(temp1);}temp1=(btree*)malloc(sizeof(btree));temp=pop();temp->left=temp1;temp1->data=affix[i];temp1->left=temp1->right=NULL;push(temp);do {temp=pop();i++;temp1=(btree*)malloc(sizeof(btree));temp->alter=temp1;temp1->data=prefix[i];temp1->right=temp1->left=NULL;if(!isalpha(affix[i])){i++;push(temp1);end;}}while(top!=-1);}go(continue);}cancel displace(btree *temp){top++;stack[top]=temp;return;}btree *pop(cancel){go(stack[top--]);}void inorder(btree *temp){if(temp){inorder(temp->left);putch(temp->data);inorder(temp->right);}go;}void preorder(btree *temp){if(temp){putch(temp->data);preorder(temp->left);preorder(temp->alter);}return;}void postorder(btree *temp){if(temp){postorder(temp->left);postorder(temp->right);putch(temp->data);}go;}
Forex Groups - Tips on Trading
Related article:
http://computerbapu.blogspot.com/2007/08/forming-tree-using-prefix-expression.html
comments | Add comment | Report as Spam
|