Skip to content
This repository was archived by the owner on Sep 7, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions data-structures/Queue.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#include<stdio.h>
#define qsize 5
struct queue
{
int arr[qsize];
int f,r;
};
typedef struct queue Queue;
void enqueue(Queue *q, int x)
{
if(q->r==qsize-1)
printf("QUEUE OVERFLOW\n");
else
q->arr[++q->r]=x;
}
int dequeue(Queue *q)
{
if(q->f-q->r==1)
printf("Queue Underflow");
else
return(q->arr[q->f++]);
}
int main()
{
Queue q;
q.f=0;
q.r=-1;
while(1)
{
printf("Enter 1 to Enqueue\nEnter 2 to Dequeue\nEnter 3 to Display All Elements\nEnter 0 to Exit\n");
int c;
scanf("%d",&c);
switch(c)
{
case 0: printf("Ended\n"); return 0;
case 1: printf("Enter Element to Enqueue\n");
int x;
scanf("%d",&x);
enqueue(&q,x);
break;
case 2: if(q.f-q.r==1)
printf("Queue Undeflow\n");
else
printf("Dequeued Element is %d\n",dequeue(&q));
break;
case 3: printf("Elements of Queue Are\n");
if(q.f-q.r==1)
{
printf("Queue is Empty\n");
break;
}
int i;
for(i=q.f;i<=q.r;i++)
printf("%d ",q.arr[i]);
printf("\n");
break;
default: printf("Wrong Choice\n");
}
}
return 0;
}
68 changes: 68 additions & 0 deletions data-structures/Stack.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#include<stdio.h>
#define max 50
struct stack
{
int ch[max];
int top;
};
typedef struct stack Stack;
void push(Stack *s, int x)
{
if(s->top==max-1)
printf("ERROR: Stack Overflow\n");
else
s->ch[++s->top]=x;
}
int pop(Stack *s)
{
if(s->top==-1)
{
printf("ERROR: Stack Underflow\n");
}
else
return (s->ch[s->top--]);
}
int main()
{
printf("Stack Has Been Initiated...\n");
Stack s;
s.top=-1;
int c;
while(1)
{
printf("\nEnter 1 to push an element\nEnter 2 to pop an element\nEnter 3 to display all the content of stack\nEnter 0 to exit\n");
scanf("%d",&c);
switch(c)
{
case 0: return 0;
case 1:
{
printf("Enter element to be pushed\n");
int x;
scanf("%d",&x);
push(&s,x);
printf("Element successfully pushed\n");
break;
}
case 2:
{
printf("Poped Element Is %d\n",pop(&s));
break;
}
case 3:
{
printf("Stack has the following content in order LIFO\n");
int i;
for(i=s.top;i>=0;i--)
{
printf("%d ",s.ch[i]);
}
break;
}
default:
{
printf("Wrong Choice\n");
}
}
}
}