C++ Task: By using the coding given, please add 2 other void, which is void undo() and void redo(). Modify it untill the programme can work properly. The output may contain PUSH, POP, DISPLAY, UNDO and REDO. The coding: #include using namespace std; struct Node { int data; struct Node *next; }; struct Node* top = NULL; void push(int val) { struct Node* newnode = (struct Node*) malloc(sizeof(struct Node)); newnode->data = val; newnode->next = top; top = newnode; } void pop() { if(top==NULL) cout<<"Stack Underflow"<data <next; } } void display() { struct Node* ptr; if(top==NULL) cout<<"stack is empty"; else { ptr = top; cout<<"Stack elements are: "; while (ptr != NULL) { cout<< ptr->data <<" "; ptr = ptr->next; } } cout<>ch; switch(ch) { case 1: { cout<<"Enter value to be pushed:"<>val; push(val); break; } case 2: { pop(); break; } case 3: { display(); break; } case 4: { cout<<"Exit"<
C++
Task: By using the coding given, please add 2 other void, which is void undo() and void redo(). Modify it untill the programme can work properly. The output may contain PUSH, POP, DISPLAY, UNDO and REDO.
The coding:
#include <iostream>
using namespace std;
struct Node {
int data;
struct Node *next;
};
struct Node* top = NULL;
void push(int val) {
struct Node* newnode = (struct Node*) malloc(sizeof(struct Node));
newnode->data = val;
newnode->next = top;
top = newnode;
}
void pop() {
if(top==NULL)
cout<<"Stack Underflow"<<endl;
else {
cout<<"The popped element is "<< top->data <<endl;
top = top->next;
}
}
void display() {
struct Node* ptr;
if(top==NULL)
cout<<"stack is empty";
else {
ptr = top;
cout<<"Stack elements are: ";
while (ptr != NULL) {
cout<< ptr->data <<" ";
ptr = ptr->next;
}
}
cout<<endl;
}
int main() {
int ch, val;
cout<<"1) Push in stack"<<endl;
cout<<"2) Pop from stack"<<endl;
cout<<"3) Display stack"<<endl;
cout<<"4) Exit"<<endl;
do {
cout<<"Enter choice: "<<endl;
cin>>ch;
switch(ch) {
case 1: {
cout<<"Enter value to be pushed:"<<endl;
cin>>val;
push(val);
break;
}
case 2: {
pop();
break;
}
case 3: {
display();
break;
}
case 4: {
cout<<"Exit"<<endl;
break;
}
default: {
cout<<"Invalid Choice"<<endl;
}
}
}while(ch!=4);
return 0;
}
Step by step
Solved in 2 steps with 1 images