C Online Compiler
Example: String Reversal using Stack in C
C
C++
C#
Java
Python
PHP
main.c
STDIN
Run
// String Reversal using Stack #include <stdio.h> #include <string.h> #include <stdlib.h> // For malloc and free // Simple Stack implementation for characters #define MAX_SIZE 100 // Maximum size of the stack char stack[MAX_SIZE]; int top = -1; // Initialize top of stack void push(char c) { if (top == MAX_SIZE - 1) { printf("Stack Overflow!\n"); return; } stack[++top] = c; } char pop() { if (top == -1) { printf("Stack Underflow!\n"); return '\0'; // Return null character for error } return stack[top--]; } void reverseStringStack(char *str) { int i; // Step 1: Push all characters of the string onto the stack for (i = 0; i < strlen(str); i++) { push(str[i]); } // Step 2: Pop all characters from the stack back into the string for (i = 0; i < strlen(str); i++) { str[i] = pop(); } } int main() { char myString[] = "data structures"; printf("Original string: %s\n", myString); reverseStringStack(myString); printf("Reversed string: %s\n", myString); return 0; }
Output
Clear
ADVERTISEMENTS