Skip to main content

Posts

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

SINGLY LINK LIST

DOWNLOAD FULL PROGRAME CODING: #CREATE A LIST struct node *creatlist(struct node *start) { struct node *new_node; int num; printf("\nENTER '-1' FOR SAVE THE LIST."); printf("\nEnter The Number:"); scanf("%d",&num); while(num!=-1) { new_node=(struct node*)malloc(sizeof(struct node*)); new_node->no=num; if(start==NULL) {   new_node->next=NULL;   start=new_node;   cu++; } else {   new_node->next=start;   start=new_node;   cu++; } printf("Enter The Number:"); scanf("%d",&num); } return start; } #TRAVERSAL struct node *display(struct node *start) { struct node *ptr; ptr=start; printf("\nLIST OPEN...\n"); while(ptr!=NULL) {   printf("\n %d",ptr->no);   ptr=ptr->next; } return start; } #INSERT AT FIRST struct node *inserrecord(struct node *start) { int no; struct node *new_record; printf("\nEnter The Number:"); scanf("%d"

DOUBLY LINK LIST

DOWNLOAD FULL PROGRAME CODING: #CREATE A LIST struct node *create(struct node *start) { struct node *new_node; int num,n; printf("\nHOW MANY ENTER THE RECORD IN LIST :"); scanf("%d",&n); do { printf("Enter the number:"); scanf("%d",&num);  if(start==NULL)  {   start=(struct node *)malloc(sizeof(struct node *));   start->prev=NULL;   start->data=num;   start->next=NULL;   count++;   n--;  }  else  {   new_node=(struct node *)malloc(sizeof(struct node *));   new_node->prev=NULL;   new_node->data=num;   new_node->next=start;   start->prev=new_node;   start=new_node;   count++;   n--;  } }while(0<n); return start; } #INSERT AT FIRST struct node *insert_beg(struct node *start) { struct node *new_node; int num; printf("Enter The Number:"); scanf("%d",&num); new_node=(struct node *)malloc(sizeof(struct node *)); start->prev=new_node; new_node->