import [Link].
*;
class Node
{
public int data;
public Node next;
public Node(int value)
{
data=value;
}
public void displaynode()
{
[Link](data+" ");
}
}
class linklist
{
public Node first;
public linklist()
{
first=null;
}
public void createlist(int x)
{
Node newnode=new Node(x);
if(first==null)
first=newnode;
else
{
Node current=first;
while([Link]!=null)
current=[Link];
[Link]=newnode;
}
}
public void display()
{
Node current=first;
while(current!=null)
{
[Link]();
current=[Link];
}
[Link](" ");
}
public void insert1(int p,int x)
{
Node current=first;
Node previous=null;
Node newnode=new Node(x);
if(p==1)
{
[Link]=first;
first=newnode;
}
int n=2;
while(current!=null)
{
previous=current;
current=[Link];
if(n==p)
{
[Link]=current;
[Link]=newnode;
}
n=n+1;
public void insert2(int key,int num)
{
Node current=first;
Node newnode=new Node(num);
while([Link]!=key && current!=null)
{
current=[Link];
}
[Link]=[Link];
[Link]=newnode;
}
public void delete(int x)
{
Node current=first;
Node previous=null;
while(current!=null && [Link]!=x)
{
previous=current;
current=[Link];
}
if(previous==null)
{
first=[Link];
}
else if(current==null)
[Link]("The element is not present");
else
{
[Link]=[Link];
}
}
public Node search(int x)
{
Node current=first;
while(current!=null)
{
if([Link]==x)
return current;
current=[Link];
}
return null;
}
/*public linklist concat(linklist x)
{
linklist list3=new linklist();
Node current=first;
while([Link]!=null)
{
[Link]([Link]);
current=[Link];
}
[Link]=[Link];
while(current!=null)
{
[Link]([Link]);
current=[Link];
}
return list3;
}*/
public void intersect(linklist x,linklist y)
{
linlklist list3=new linklist();
Node temp=[Link];
while(temp!=null)
{
Node current=[Link];
while(current!=null)
{
if([Link]==[Link])
[Link]([Link]);
current=[Link];
}
temp=[Link];
}
}
}
public class Intersection
{
public static void main(String args[])throws IOException
{
String temp;
int ch;
linklist list1=new linklist();
linklist list2=new linklist();
linklist list3=new linklist();
BufferedReader br=new BufferedReader(new InputStreamReader([Link]));
[Link]("Enter the number of nodes of list1:");
temp=[Link]();
int k=[Link](temp);
[Link]("Enter the nodes of list1:");
for(int i=1;i<=k;i++)
{
temp=[Link]();
[Link]([Link](temp));
}
[Link]("Enter the number of nodes of list2:");
temp=[Link]();
int m=[Link](temp);
[Link]("Enter the nodes of list2:");
for(int i=1;i<=m;i++)
{
temp=[Link]();
[Link]([Link](temp));
}
[Link]("The entered nodes");
[Link]();
[Link]();
[Link]();
/*linklist list3=[Link](list2);
[Link]("the list after concatenation");
[Link]();*/
do
{
[Link]("MENU:");
[Link]("1:insert 2:delete 3:sorted insert 4:search ");
temp=[Link]();
ch=[Link](temp);
switch(ch)
{
case 1:
[Link]("position");
temp=[Link]();
k=[Link](temp);
[Link]("Enter the node");
temp=[Link]();
m=[Link](temp);
list3.insert1(k,m);
[Link]();
break;
case 2:
[Link]("element");
temp=[Link]();
[Link]([Link](temp));
[Link]();
break;
case 3:
[Link]("position");
temp=[Link]();
int pos=[Link](temp);
[Link]("Enter the element");
temp=[Link]();
int num=[Link](temp);
list3.insert2(pos,num);
[Link]();
break;
case 4:
[Link]("element");
temp=[Link]();
Node n=[Link]([Link](temp));
if(n!=null)
[Link]("present ");
else
[Link]("not present");
break;
case 5:
[Link]("After union");
[Link](list1,list2);
[Link]();
}
}while(ch==1||ch==2||ch==3||ch==4);
}
}