the given code to stack instead of queue in C LANGUAGE: Note: I already uploaded this question and I resieved a wrong answer. Please don't rush while solving the question. I need to modify the same code with the same functionality.   #include #include struct node { char data[100]; struct node *link; }*front, *rear; struct node *list=NULL;

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Convert the given code to stack instead of queue in C LANGUAGE:

Note: I already uploaded this question and I resieved a wrong answer. Please don't rush while solving the question.

I need to modify the same code with the same functionality.

 

#include <stdio.h>
#include <stdlib.h>
struct node
{
char data[100];
struct node *link;
}*front, *rear;

struct node *list=NULL;
void insert()
{
struct node *temp;
temp = (struct node*)malloc(sizeof(struct node));
printf("Enter the element to be inserted in the queue: ");
scanf("%s",temp->data);
temp->link = NULL;
if (rear == NULL)
{
front = rear = temp;
}
else
{
rear->link = temp;
rear = temp;
}
}

void display()
{
struct node *temp;
temp = front;
int cnt = 0;
if (front == NULL)
{
printf("Queue underflow\n");
}
else
{
printf("The elements of the stack are:\n");
while (temp)
{
printf("%s\n", temp->data);
temp = temp->link;
cnt++;
}
}
}
void undo()
{
struct node *temp=front;

if(front == NULL)
printf("\nNO element to Undo.\n");
else
{
while(temp->link->link)
{
temp=temp->link;
}
if(list==NULL)
{ list=temp->link;
temp->link=NULL;
}
else
{
temp->link->link=list;
list=temp->link;
temp->link=NULL;
}
}
}
void redo()
{
struct node *temp=front;

if(list == NULL)
printf("\nNO element to Redo.\n");
else
{
while(temp->link)
{
temp=temp->link;
}
temp->link=list;
list=list->link;
temp->link->link=NULL;
}
}
int main()
{
printf("Welcome to DataFlair tutorials!\n\n");
int choice;
printf ("LINKED LIST IMPLEMENTATION OF QUEUES\n\n");
do
{
printf("1. Insert \n2. Display\n3. Undo \n4. Redo \n5. Exit\n\n");
printf("Enter your choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:
insert();
break;
case 2:
display();
break;
case 3:
undo();
break;
case 4:
redo();
break;
case 5:
exit(0);
break;
default:
printf("Sorry, invalid choice!\n");
break;
}
} while(choice!=5);
return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education