2 DS Assignment-2
2 DS Assignment-2
2 Batch-A1
Course-Data Structures
Assignment 2
//Q.1
#include<iostream>
using namespace std;
class node
{
public:
int data;
node *next;
};
class SLlist
{
public:
int length ;
node *head;
SLlist()
{
head = NULL;
}
void create();
void display();
void rearrange();
void fun ( node *temp) ;
void getmiddle();
};
length = size ;
for (int i=1 ; i<=size ; i++)
{
cout<<"\nEnter "<<i<<" Employee's payment : Rs. ";
cin>>data;
new_node->data = data ;
new_node->next = NULL ;
if(head == NULL)
{
head = new_node;
ptr = new_node;
}
else
{
ptr->next = new_node ;
ptr = new_node;
}
}
node *temp;
int i=1;
temp = head ;
while(temp != NULL)
{
cout<<i<<" Employee payment : Rs. "<<temp->data<<endl;
i++;
temp = temp->next;
}
}
void SLlist::rearrange()
{
float sorted_payment;
while(prev->next != NULL)
{
cur = prev->next ;
while(cur != NULL)
{
void SLlist::getmiddle()
{
node *temp=NULL;
int count1=0;
temp=head;
while(temp!=NULL)
{
temp=temp->next;
count1++;
}
if(count1%2==1)
{
count1=count1/2;
for(int i=0;i<count1;i++)
{
temp=temp->next;
}
else
{
count1=count1/2;
for(int i=1;i<count1;i++)
{
temp=temp->next;
}
cout<<"\n Employees "<<count1<<" and "<<count1+1<<" are at
middle Position and payments are Rs. "<<temp->data<<" and Rs. "
<<temp->next->data<<" respectively"<<endl;
}
}
int main()
{
SLlist sl;
while(c == 'y'){
switch(choice)
{
case 1 :
sl.create() ;
break;
case 2 :
sl.display();
break;
case 3 :
sl.rearrange();
sl.display();
break;
case 4 :
sl.getmiddle();
break;
default :
cout<<"\nWrong choice";
}
/*
Output-
1.Create
2.Display
3.Sort
4.Get middle
Enter your choice: 1
1.Create
2.Display
3.Sort
4.Get middle
Enter your choice: 2
1.Create
2.Display
3.Sort
4.Get middle
Enter your choice: 3
1.Create
2.Display
3.Sort
4.Get middle
Enter your choice: 4
class node
{
public:
char letter;
node * next;
};
class Llist
{
private:
node *head;
public:
Llist()
{
head=NULL;
}
void create_List();
void display_List();
void join();
};
void Llist:: create_List()
{
node * temp= NULL;
node * p=NULL;
char c='y';
while(c=='y')
{
temp=new node;
temp->next=NULL;
else
{
p->next=temp;
p=temp;
}
void Llist::display_List()
{
node *p=NULL;
p= head;
cout<<"\n\nGiven Linked List :"<<endl;
while(p!=NULL)
{
cout<<p->letter<<"->";
p=p->next;
}
cout<<"NULL";
}
void Llist::join()
{
int num;
cout<<"\nEnter the number of letters (n): ";
cin>>num;
cout<<"\nJoining "<<num<<" Consecutive Letters:"<<endl;
node *temp=NULL;
temp=head;
while(temp!=NULL)
{
for(int i=0;i<num;i++)
{
if(temp==NULL)
{
break;
}
else
{
cout<<temp->letter;
temp=temp->next;
}
}
cout<<" ";
}
}
int main()
{
Llist l1;
l1.create_List();
l1.display_List();
l1.join();
return 0;
}
/*
Output-