Stack Queue Using Linklist
Stack Queue Using Linklist
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
};
if (!newNode) {
printf("Stack overflow\n");
return;
newNode->data = data;
newNode->next = *top;
*top = newNode;
if (*top == NULL) {
printf("Stack underflow\n");
return -1;
}
*top = (*top)->next;
free(temp);
return popped;
temp = temp->next;
printf("NULL\n");
int main() {
push(&stack, 10);
push(&stack, 20);
push(&stack, 30);
display(stack);
display(stack);
return 0;
}
Aim: Stack implementation using Linklist
#include <stdio.h>
#include <stdlib.h>
int data;
} Node;
typedef struct {
Node* front;
Node* rear;
} Queue;
if (!newNode) {
exit(1);
newNode->data = data;
newNode->next = NULL;
return newNode;
if (!queue) {
exit(1);
return queue;
if (queue->rear == NULL) {
return;
queue->rear->next = newNode;
queue->rear = newNode;
if (queue->front == NULL) {
printf("Queue is empty\n");
return -1;
if (queue->front == NULL) {
queue->rear = NULL;
free(temp);
return data;
while (temp) {
temp = temp->next;
printf("NULL\n");
int main() {
enqueue(queue, 10);
enqueue(queue, 20);
enqueue(queue, 30);
printf("Queue: ");
displayQueue(queue);
displayQueue(queue);
return 0;
}