Skip to main content

Posts

BINARY SEARCH TREE USING LINK LIST WITH CREATION,INSERTION & TRAVERSAL PRE-ORDER,IN-ORDER,POST-ORDER

DOWNLOAD PROGRAM CODING: #include<stdio.h> #include<conio.h> struct node { int data; struct node *left; struct node *right; }; struct node *tree=NULL; struct node *insert(struct node *,int); void preorder(struct node *); void inorder(struct node *); void postorder(struct node *); void main() { int ch,data; clrscr(); do {  printf("\n    ___MAIN MENU___");  printf("\n1.INSERTION");  printf("\n2.TRAVERSAL PRE-ORDER");  printf("\n3.TRAVERSAL IN-ORDER ");  printf("\n4.TRAVERSAL POST-ORDER");  printf("\n5.EXIT");  printf("\nENTER THE NUMBER:");  scanf("%d",&ch);  switch(ch)   {   case 1:   printf("ENTER THE DATA:");   scanf("%d",&data);   tree=insert(tree,data);   break;   case 2:   preorder(tree);   break;   case 3:   inorder(tree);   break;   case 4:   postorder(tree);   break;   case 5:   printf("PRESS ENTER FOR EXIT..

REVERSE THE STRING USING THE STACK

DOWNLOAD PROGRAM CODING: #include<stdio.h> #include<conio.h> #include<string.h> #define max 50 char string[max]; int top=-1; void push(char a); char pop(); void main() { char str[50]; int i; clrscr(); printf("ENTER THE VALID CHARCTER STRING:"); gets(str); for(i=0;i<strlen(str);i++)  push(str[i]); for(i=0;i<strlen(str);i++)  str[i]=pop(); printf("REVERSED STRING..."); puts(str); getch(); } void push(char s) { if(top==(max-1)) {  printf("STACK IS OVERFLOW..."); } string[++top]=s; } char pop() { if(top==-1) {  printf("STACK IS UNDERFLOW..."); } return string[top--]; }

SORT A STACK USING RECURSIONS

CODING: #include<stdio.h> #include<conio.h> struct stack { int no; struct stack *next; }; struct stack *top=NULL; struct stack *push(struct stack *); struct stack *display(struct stack *); void   sort(struct stack *); void main() { clrscr(); top=push(top); sort(top); top=display(top); getch(); } struct stack *push(struct stack *top) { struct stack *new_stack; int n,i; printf("HOW TO STORE ELEMENT IN THE STACK:"); scanf("%d",&i); while(0<i) { printf("ENTER THE NUMBER:"); scanf("%d",&n); new_stack=(struct stack*)malloc(sizeof(struct stack*)); new_stack->no=n;  if(top==NULL)   {    new_stack->next=NULL;    top=new_stack;    i--;   }  else   {    new_stack->next=top;    top=new_stack;    i--;   } } return top; } struct stack *display(struct stack *top) { struct stack *new_stack; new_stack=top; printf("STACK"); while(new_stack!=NULL) {   printf("\n%d&

INFIX TO POSTFIX USING STACK IN C(PARENTHESES).

DOWNLOAD FULL PROGRAME CODING: #include<stdio.h> #include<conio.h> #define max 50 char st[max]; int top=-1; void push(char st[],char); char pop(char st[]); void intopostex(char source[],char target[]); int getpriority(char); void main() { char infix[50],postfix[50]; clrscr(); printf("\nENTER INFIX EXPRESSION:\n"); fflush(stdin); gets(infix); strcpy(postfix,""); intopostex(infix,postfix); printf("\nTHE POSTFIX EXPRESSION:\n"); puts(postfix); getch(); } void intopostex(char sourse[],char target[]) { int i=0,j=0; char temp; strcpy(target,""); while(sourse[i]!='\0')  {   if(sourse[i]=='(')    {     push(st,sourse[i]);     i++;    }   else if(sourse[i]==')')    {     while((top!=-1) && (st[top]!='('))     {      target[j]=pop(st);      j++;     }     if(top==-1)     {      printf("\nINCORRECT EXPRESSION..");      exit(1);     }     temp=pop

EVALUATION OF POSTFIX EXPRESSION USING STACK IN C PROGRAM

DOWNLOAD FULL PROGRAME CODING: #include<stdio.h> #include<conio.h> #define max 50 float st[max]; int top=-1; void  push(float st[],float num); float pop(float st[]); float postex(char exp[]); void main() { float num; char exp[50]; clrscr(); printf("ENTER THE POSTFIX EXPRESSION:\n"); fflush(stdin); gets(exp); num=postex(exp); printf("\nANSWER OF THE POSTFIX EXPRESSION:%f",num); getch(); } float postex(char exp[]) { int i=0; float no1,no2,num; while(exp[i]!='\0') {  if(isdigit(exp[i]))    push(st,(float)(exp[i]-'0'));  else  {   no1=pop(st);   no2=pop(st);  switch(exp[i])   {    case '+':    num=no1+no2;    break;    case '-':    num=no1-no2;    break;    case '*':    num=no1*no2;    break;    case '/':    num=no1/no2;    break;    case '%':    num=(int)no1%(int)no2;    break;    }     push(st,num);   }    i++;  }   return (pop(st)); } void