From f6cb40d986466017237809ee18c655567f4c0801 Mon Sep 17 00:00:00 2001 From: Barath Nadar <42098783+barath121@users.noreply.github.com> Date: Tue, 1 Oct 2019 21:15:09 +0530 Subject: [PATCH 1/8] Added Stack --- Data Structures/Stack/Stack.c | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Data Structures/Stack/Stack.c diff --git a/Data Structures/Stack/Stack.c b/Data Structures/Stack/Stack.c new file mode 100644 index 0000000..d11b333 --- /dev/null +++ b/Data Structures/Stack/Stack.c @@ -0,0 +1,66 @@ +#include +#define max 10 +int pt[max]; +int top=-1; +void push(int x) +{ + if(top>max) + printf("stackoverflow"); + else + { + pt[++top]=x; + } +} +int pop() +{ +if(top==-1) +printf("stackunderflow"); +else{ +printf("the number popped is"); +return pt[top--]; +} +} +void display() +{ + int i; + for( i=top;i>=0;i--) + printf("%d\n",pt[i]); +} +void peek() +{ + printf("%d\n",pt[top]); +} +void size() +{ + printf("the size of stack is %d\n",top+1); +} +int main() { + int temp; + int op; + do{ + printf("1)push\n2)pop\n3)display\n4)peek\n5)size\n"); + scanf("%d",&op); + switch(op) + { + case 1: + printf("enter a number\n"); + scanf("%d",&temp); + push(temp); + break; + case 2: + printf(" %d\n",pop()); + break; + case 3: + printf("the stack is\n"); + display(); + break; + case 4: + printf("the top number is\n"); + peek(); + break; + case 5: + size(); + } +}while(op>0&op<6); + return 0; +} From 2d696d26dfa054e2b4a5adc621e1b22d1df89746 Mon Sep 17 00:00:00 2001 From: Barath Nadar <42098783+barath121@users.noreply.github.com> Date: Tue, 1 Oct 2019 21:19:45 +0530 Subject: [PATCH 2/8] Added Stack using linked list --- Data Structures/Stack/Stack_LinkedList.c | 83 ++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Data Structures/Stack/Stack_LinkedList.c diff --git a/Data Structures/Stack/Stack_LinkedList.c b/Data Structures/Stack/Stack_LinkedList.c new file mode 100644 index 0000000..9d72f1b --- /dev/null +++ b/Data Structures/Stack/Stack_LinkedList.c @@ -0,0 +1,83 @@ +#include +#include +struct node{ + int data; + struct node * next; +}; +struct node *head,*ptr; + +int top=-1; +void push(int x) +{ +ptr=head; +struct node * newnode =(struct node *)malloc(sizeof(struct node *)); +newnode->data=x; +newnode->next=ptr; +head=newnode; +top++; + +} +int pop() +{ +if(top<0) +printf("stackunderflow"); +else +{ +printf("the number popped is: "); +ptr=head; +head=head->next; +int v= ptr->data; +free(ptr); +top--; +return v; +} + +} +void display() +{ + ptr=head; + while(ptr!=NULL) + { + printf("%d\n",ptr->data); + ptr=ptr->next; + } +} +void peek() +{ + printf("%d\n",head->data); +} +void size() +{ + printf("the size of stack is %d\n",top+1); +} +int main() { + + int temp; + int op; + do{ + printf("1)push\n2)pop\n3)display\n4)peek\n5)size\n"); + scanf("%d",&op); + switch(op) + { + case 1: + printf("enter a number\n"); + scanf("%d",&temp); + push(temp); + break; + case 2: + printf(" %d\n",pop()); + break; + case 3: + printf("the stack is\n"); + display(); + break; + case 4: + printf("the top number is\n"); + peek(); + break; + case 5: + size(); + } +}while(op>0&op<6); + return 0; +} From db0cf0064f1956ee24335f8c4df74c219e5f53b4 Mon Sep 17 00:00:00 2001 From: Barath Nadar <42098783+barath121@users.noreply.github.com> Date: Tue, 1 Oct 2019 21:26:48 +0530 Subject: [PATCH 3/8] Added QUeue --- Data Structures/Queue/Queue.c | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Data Structures/Queue/Queue.c diff --git a/Data Structures/Queue/Queue.c b/Data Structures/Queue/Queue.c new file mode 100644 index 0000000..29c4710 --- /dev/null +++ b/Data Structures/Queue/Queue.c @@ -0,0 +1,66 @@ +#include +#define max 10 +int front=-1,rear=-1; +int que[max]; +void enque(){ +if(rear==max-1) +printf("Queue overflow\n"); +else { + if(front==-1) + front=0; + printf("Enter a number\n"); + int temp; + scanf("%d",&temp); + que[++rear]=temp; +} +} +void deque(){ +if(front==-1 or front>rear) +printf("Queue underflow"); +else{ + printf("Deleted number is %d\n",que[front++]); +} +} +void display() +{ +if(front==-1&&rear==-1) +printf("Empty array"); +else if(front>-1) +for(int i=front ;i<=rear;i++) +printf("%d\n",que[i]); +else +for(int i=0 ;i<=rear;i++) +printf("%d\n",que[i]); +} +void peek(){ +printf("%d\n",que[front]); +} +void size(){ +printf("%d\n",rear-front+1); +} +int main(){ +int op; + do{ + printf("1)enqueue\n2)dequeue\n3)display\n4)peek\n5)size\n"); + scanf("%d",&op); + switch(op) + { + case 1: + enque(); + break; + case 2: + deque(); + break; + case 3: + printf("the stack is\n"); + display(); + break; + case 4: + peek(); + break; + case 5: + size(); + } +}while(op>0&op<6); + return 0; +} From fcc60ae6e475f03487d55da7038169968d877c78 Mon Sep 17 00:00:00 2001 From: Barath Nadar <42098783+barath121@users.noreply.github.com> Date: Tue, 1 Oct 2019 21:27:57 +0530 Subject: [PATCH 4/8] added double ended queue --- Data Structures/Queue/Double_Ended_Queue.c | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 Data Structures/Queue/Double_Ended_Queue.c diff --git a/Data Structures/Queue/Double_Ended_Queue.c b/Data Structures/Queue/Double_Ended_Queue.c new file mode 100644 index 0000000..4064570 --- /dev/null +++ b/Data Structures/Queue/Double_Ended_Queue.c @@ -0,0 +1,110 @@ +#include + +#define max 10 +int front = -1, rear = -1; +int que[max]; +int is_full() { + if (front == max - 1 && rear == 0 || front == rear - 1) { + printf("Queue is full\n"); + return 1; + } else + return 0; + +} +void right_enque() { + if (is_full()); + else { + if (front == -1) { + front = 0; + rear = 0; + } + if (front == max - 1) + front = 0; + printf("Enter a number\n"); + int temp; + scanf("%d", & temp); + que[front++] = temp; + } +} +void left_enque() { + if (is_full()); + else { + if (front == -1) { + front = 0; + rear = 0; + } + if (rear == 0) + rear = max - 1; + printf("Enter a number\n"); + int temp; + scanf("%d", & temp); + que[rear--] = temp; + } +} +int is_empty() { + if (front == -1 || rear == -1) { + printf("Empty Queue\n"); + return 1; + } else + return 0; +} + +void right_deque() { + if (is_empty()); + else { + printf("Deleted number is %d %d\n", front, que[--front]); + + if (front == -1) + front = max - 1; + } +} +void left_deque() { + if (is_empty()); + else { + printf("Deleted number is %d %d\n", rear, que[++rear]); + if (rear == max - 1) + rear = 0; + } +} +void display() { + int i; + if (is_empty()); + else if (rear <= front) { + printf("Array is\n"); + for (i = rear + 1; i <= front; i++) + printf("%d %d\n", i, que[i]); + } else { + printf("Array is\n"); + for (i = rear + 1; i < max; i++) + printf("%d %d\n", i, que[i]); + for (i = 0; i < front; i++) + printf("%d %d\n", i, que[i]); + + } +} + +int main() { + int op; + do { + printf("1)right enqueue\n2)left enqueue\n3)right dequeue\n4)left dequeue\n5)display\n"); + scanf("%d", & op); + switch (op) { + case 1: + right_enque(); + break; + case 2: + left_enque(); + break; + case 3: + right_deque(); + break; + case 4: + left_deque(); + break; + case 5: + display(); + break; + } + } while (op > 0 & op < 6); + return 0; +} From 363caf2dd182a46cc602014c2696b49953a1b818 Mon Sep 17 00:00:00 2001 From: deepaksn121 <57053802+deepaksn121@users.noreply.github.com> Date: Sun, 27 Oct 2019 08:53:01 +0530 Subject: [PATCH 5/8] added new edge --- Data Structures/Graph/DFS.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Data Structures/Graph/DFS.cpp b/Data Structures/Graph/DFS.cpp index 7a9b0f7..7b65ef8 100755 --- a/Data Structures/Graph/DFS.cpp +++ b/Data Structures/Graph/DFS.cpp @@ -47,14 +47,15 @@ void Graph::DFS(int s){ } int main(){ - Graph g(5); + Graph g(6); g.addEdge(1, 0); g.addEdge(0, 2); g.addEdge(2, 1); g.addEdge(0, 3); g.addEdge(1, 4); + g.addEdge(1, 5); g.DFS(0); cout< Date: Sun, 27 Oct 2019 08:54:13 +0530 Subject: [PATCH 6/8] changed value --- Data Structures/Tree/tree.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Data Structures/Tree/tree.cpp b/Data Structures/Tree/tree.cpp index 169593a..2583a32 100755 --- a/Data Structures/Tree/tree.cpp +++ b/Data Structures/Tree/tree.cpp @@ -13,7 +13,7 @@ struct Node{ int main(){ Node *head = new Node(10); - head->next = new Node(20); + head->next = new Node(30); cout<data<<"->"<next->data< Date: Sun, 27 Oct 2019 08:55:06 +0530 Subject: [PATCH 7/8] fixed max --- Data Structures/Queue/Queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Data Structures/Queue/Queue.c b/Data Structures/Queue/Queue.c index 29c4710..9f99397 100644 --- a/Data Structures/Queue/Queue.c +++ b/Data Structures/Queue/Queue.c @@ -1,5 +1,5 @@ #include -#define max 10 +#define max 100 int front=-1,rear=-1; int que[max]; void enque(){ From 293a0ae487bec74e8bd6018b6a30bb103db271d7 Mon Sep 17 00:00:00 2001 From: deepaksn121 <57053802+deepaksn121@users.noreply.github.com> Date: Sun, 27 Oct 2019 08:56:22 +0530 Subject: [PATCH 8/8] increased stack size --- Data Structures/Stack/Stack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Data Structures/Stack/Stack.c b/Data Structures/Stack/Stack.c index d11b333..090e1bf 100644 --- a/Data Structures/Stack/Stack.c +++ b/Data Structures/Stack/Stack.c @@ -1,5 +1,5 @@ #include -#define max 10 +#define max 1000 int pt[max]; int top=-1; void push(int x)