Stack
Stack
#include <stdio.h>
#include "stack.h"
int main(void) {
struct Stack* stack = createEmptyStack();
char input[MAX_SIZE];
while (!isEmpty(stack)) {
printf("%c", pop(stack));
}
printf("\n");
return 0;
}
2.
#include <stdio.h>
#include "stack.h"
int main(void) {
struct Stack* stack = createEmptyStack();
char choice;
int count = 1;
int ent, min;
do {
printf("Enter operation %d: ", count);
scanf(" %c", &choice);
switch (choice) {
case '+':
scanf(" %d", &ent);
push(stack, ent);
count++;
break;
case '-':
if (!isEmpty(stack)) {
pop(stack);
}
count++;
break;
case '#':
if(!isEmpty(stack)) {
min = pop(stack);
while (!isEmpty(stack)) {
int val = pop(stack);
if (min > val) {
min = val;
}
}
printf("Minimum element: %d\n", min);
}
break;
default:
printf("Invalid operator!");
break;
}
} while(choice != '#');
return 0;
}
3.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "stack.h"
int main(void) {
char exp[MAX_SIZE];
printf("Enter string: ");
scanf("%s", exp);
if (isEmpty(stack))
printf("True\n");
else
printf("False\n");
return 0;
}
4.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "stack.h"
int main(void) {
char prefix[MAX_SIZE];
printf("Enter expression: ");
fgets(prefix, sizeof(prefix),stdin);
int len = strlen(prefix);
if(prefix[len -1] == '\n'){
prefix[len - 1] = '\0';
}
char infix[MAX_SIZE];
prefixToInfix(prefix, infix);
printf("%s\n",infix);
return 0;
}
5.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "stack.h"
int main(void) {
char postfix[MAX_SIZE];
printf("Enter expression: ");
fgets(postfix, sizeof(postfix),stdin);
int len = strlen(postfix);
if(postfix[len -1] == '\n'){
postfix[len - 1] = '\0';
}
char prefix[MAX_SIZE];
postfixToPrefix(postfix, prefix);
printf("%s\n",prefix);
return 0;
}
6.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "stack.h"
int main(void) {
char postfix[MAX_SIZE];
printf("Enter expression: ");
fgets(postfix, sizeof(postfix),stdin);
int len = strlen(postfix);
if(postfix[len -1] == '\n'){
postfix[len - 1] = '\0';
}
return 0;
}