DSA Lab11
DSA Lab11
Roll No:02-132212-010
Task 1
#include <iostream>
class node {
public:
int data;
node* next;
node(int value){
data=value;
next=NULL;
};
if(head==NULL){
head=n;
return;
node* temp=head;
while(temp->next!=NULL)
temp=temp->next;
temp->next=n;
node* temp=head;
while(temp!=NULL){
cout<<temp->data<<"->";
temp=temp->next;
cout<<"Null"<<endl;
int main()
{
node* head=NULL;
inserttail(head, 21);
inserttail(head, 78);
inserttail(head, 65);
inserttail(head, 34);
inserttail(head, 56);
display(head);
}
Task 2
#include <iostream>
struct node
int value;
node* next;
};
class Stack {
node* head;
int stacksize;
public:
Stack()
head=NULL;
stacksize=0;
temp->value=element;
temp->next=head;
head=temp;
stacksize++;
void pop()
if(head==NULL)
cout<<"Stack is empty"<<endl;
return;
node* temp=head;
head=temp->next;
temp->next=NULL;
delete temp;
cout<<"Element popped"<<endl;
stacksize--;
int top()
if(head==NULL)
return head->value;
int size(){
return stacksize;
int empty(){
if(head==NULL)
cout<<"Stack is empty"<<endl;
return 1;
return 0;
};
int main() {
Stack s;
s.empty();
s.push(34);
s.push(78);
s.push(91);
s.pop();
s.push(63);
s.top();
s.size();
s.empty();
return 0;
}
Task 3
#include<iostream>
struct node {
int data;
node* next;
};
temp->data =x;
temp->next = NULL;
return;
rear->next = temp;
rear = temp;
cout<<"Element Enqueue"<<endl;
void dequeue() {
cout<<"Queue is Empty\n";
return;
if(front == rear) {
else {
front = front->next;
delete temp;
cout<<"Element Dequeue"<<endl;
void print() {
while(temp != NULL) {
cout<<temp->data<<"<- ";
temp = temp->next;
cout<<endl;
int main(){
enqueue(3);
print();
enqueue(5);
print();
enqueue(7);
print();
dequeue();
print();
enqueue(9);
print();
return 0;