0% found this document useful (0 votes)
5 views13 pages

Circular LL

Uploaded by

kaviyamithuna06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views13 pages

Circular LL

Uploaded by

kaviyamithuna06
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

CIRCULAR LL

// editor1
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node *next;
Node(int val)
{
data=val;
next=nullptr;
}
};
Node *head=nullptr,*tail=nullptr;

void insertNode(int d)
{
Node *n=new Node(d);
if(head==nullptr)
{
head=n;
tail=n;
head->next=head;
tail->next=head;
}
else
{
tail->next=n;
n->next=head;
tail=n;
}
}
void find()
{
int even=0,odd=0;
Node *temp=head;
do
{
if(temp->data%2==0)
{
even++;
}
else
{
odd++;
}
temp=temp->next;
}while(temp!=head);
if(even>0)
{
cout<<even<<endl;
}
else
{
cout<<"Nil"<<endl;
}
if(odd>0)
{
cout<<odd<<endl;

}
else
{
cout<<"Nil"<<endl;
}
}
int main()
{
int count;
cin>>count;
if(count<=0)
{
cout<<"Invalid input";
return 0;
}
for(int i=0;i<count;i++)
{
int num;
cin>>num;
insertNode(num);
}
find();

// editor2
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node *next;

Node(int val)
{
data=val;
next=nullptr;
}
};
Node *head=nullptr,*tail=nullptr;
void insert(int d)
{
Node *cur=head;
Node *n=new Node(d);

if(head==nullptr)
{
head=n;
tail=n;
head->next=head;
tail->next=tail;

}
else
{
n->next=cur;
tail->next=n;
head=n;
}
}
void display()
{
Node *temp=head;
do
{
cout<<temp->data<<" ";
temp=temp->next;
}
while(temp!=head);

}
int main()
{
int count;
cin>>count;
if(count<0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<count;i++)
{
int num;
cin>>num;
insert(num);
}
display();
}

// editor3
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;
Node*prev;

Node(int val)
{
data=val;
next=nullptr;
prev=nullptr;
}
};
Node*head= nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
Node*cur=head;
tail->next=newnode;
tail=newnode;
newnode->next=head;

}
}
void insertatk(int pos,int val)
{
Node*newnode=new Node(val);
Node*cur=head;
int i=1;
if(pos==1)
{
newnode->next=head;
newnode->prev=tail;
head->prev=newnode;
head=newnode;
tail->next=head;

}
else
{
while(cur->next!=head && i<pos-1)
{
cur=cur->next;
i++;

}
newnode->prev=cur;
newnode->next=cur->next;
cur->next=newnode;
}
}
void display()
{
Node*cur=head;
do{
cout<<cur->data<<" ";
cur=cur->next;
}while(cur!=head);
cout<<endl;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int k;
cin>>k;
if(k>=-1000 && k<=10000)
{
insertatend(k);
}
}
int p,v;
cin>>p>>v;
if(p<=0 || (p>n+1))
{
cout<<"Invalid position"<<endl;
return 0;
}
if(p>=-100 && p<=100)
{
insertatk(p,v);
display();
}
}

// editor4
#include<iostream>
#include<iomanip>
using namespace std;
class Node
{
public:
float data;
Node*next;
Node(float val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr,*tail=nullptr;
void insertatend(float val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
newnode->next=head;
tail=newnode;
}
}
void findmax()
{
Node*temp=head;
float max=temp->data;
do{
if(temp->data>=max)
{
max=temp->data;
}
temp=temp->next;
}while(temp!=head);
cout<<fixed<<setprecision(2)<<max<<endl;

}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
float k;
cin>>k;
insertatend(k);
}
findmax();
}

// editor5
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;

Node(int val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=newnode;
tail->next=newnode;

}
else
{
tail->next=newnode;
newnode->next=head;
tail=newnode;
}

}
void display()
{
Node*cur=head;
int v=0;
do{
if(cur->data>0)
{
cout<<cur->data<<" ";
v++;
}
cur=cur->next;
}while(cur!=head);
if(v==0)
{
cout<<"List is empty"<<endl;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
display();
}

PRAC

// editor1
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;
Node(int val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr,*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
tail=newnode;
tail->next=head;
}
}
void findmin()
{
Node*temp=head;
int min=temp->data;
do{
if(temp->data<=min)
{
min=temp->data;

}
temp=temp->next;
}while(temp!=head);
cout<<min<<endl;
}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
findmin();
}

// editor2
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;

Node(int val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
tail=newnode;
tail->next=head;
}
}
void display(int n)
{
Node*temp=head;
int odd=0,even=0;
do{
if(temp->data%2!=0)
{
odd+=temp->data;
}
else
{
even++;
}
temp=temp->next;
}while(temp!=head);
if(odd>0)
{
cout<<odd<<endl;
}
if(even==n)
{
cout<<"Nil"<<endl;
}
}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
display(n);
}

// editor3
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;

Node(int val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
tail=newnode;
tail->next=head;
}
}
void display()
{
Node*cur=head;
while(cur->next!=head)
{
if(cur!=head)
{
cout<<cur->data<<" ";
}
cur=cur->next;
}
}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
display();
}

// editor4
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;

Node(int val)
{
data=val;
next=nullptr;
}
};
Node*head=nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
tail=newnode;
head=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
tail=newnode;
tail->next=head;
}
}
void insertatk(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
newnode->next=head;
head=newnode;
tail->next=newnode;
}
}
void display()
{
Node*cur=head;
cout<<cur->data<<" ";
cur=cur->next->next;
while(cur!=head)
{
cout<<cur->data<<" ";
cur=cur->next;
};
}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
int v;
cin>>v;
insertatk(v);
display();
}

// editor5
#include<iostream>
using namespace std;
class Node
{
public:
int data;
Node*next;

Node(int val)
{
data=val;
next=nullptr;
}

};
Node*head=nullptr;
Node*tail=nullptr;
void insertatend(int val)
{
Node*newnode=new Node(val);
if(head==nullptr)
{
head=newnode;
tail=newnode;
head->next=head;
tail->next=head;
}
else
{
tail->next=newnode;
tail=newnode;
tail->next=head;
}
}
void display(int n)
{
Node*cur=head;
int even=0,evenc=0,odd=0,neg=0;
do{
if(cur->data%2==0 && cur->data>=0)
{
even+=cur->data;
evenc++;
}
if(cur->data%2!=0)
{
odd++;
}
if(cur->data<=0)
{
neg++;
}
cur=cur->next;
}while(cur!=head);
if(even>0)
{
cout<<even<<endl;
}
if(odd==n || neg==n || odd>0)
{
cout<<"Nil"<<endl;
}
}
int main()
{
int n;
cin>>n;
if(n<=0)
{
cout<<"Invalid input"<<endl;
return 0;
}
for(int i=0;i<n;i++)
{
int k;
cin>>k;
insertatend(k);
}
display(n);
}

You might also like