import java.io.*;
class Node{
protected int data;
protected Node link;
public Node(){
link=null;
data=0;
}
public Node (int d,Node n)
{
data=d;
link=n;
}
public void setlink(Node n)
{
link=n;
}
public void setData(int d)
{
data=d;
}
public Node getlink()
{
return link;
}
public int getData(){
return data;
}
}
class linklist{
protected Node start;
public linklist()
{
start=null;
}
public boolean isEmpty()
{
return start==null;
}
public void Insert(int val)
{
Node nptr,ptr,save=null;
nptr=new Node(val,null);
boolean ins=false;
if(start==null)
start=nptr;
else if(val<=start.getData())
{
nptr.setlink(start);
start=nptr;
}
else {
save=start;
ptr=start.getlink();
while(ptr!=null)
{
if(val>=save.getData() && val<=ptr.getData())
{
save.setlink(nptr);
nptr.setlink(ptr);
ins=true;
break;
}
else{
save=ptr;
ptr=ptr.getlink();
}
}
if(ins==false)
{
save.setlink(nptr);
}
}
}
public void Traverse()
{
Node ptr=start;
System.out.print(start.getData()+"-->");
ptr=start.getlink();
while(ptr.getlink()!=null)
{
System.out.print(ptr.getData()+"-->");
ptr=ptr.getlink();
}
System.out.print(ptr.getData()+".");
System.out.println();
}
public void split(linklist L1,linklist L2)
{
Node ptr=start;
int n=0;
n=start.getData();
if(prime(n)==true)
L1.Insert(n);
else if(prime(n)==false)
L2.Insert(n);
ptr=start.getlink();
while(ptr.getlink()!=null)
{
n=ptr.getData();
if(prime(n)==true)
L1.Insert(n);
else if(prime(n)==false)
L2.Insert(n);
ptr=ptr.getlink();
}
n=ptr.getData();
if(prime(n)==true)
L1.Insert(n);
else if(prime(n)==false)
L2.Insert(n);
System.out.println();
}
public boolean prime(int n)
{
boolean flag=true;
for(int i=2;i<n;i++)
{
if(n%i==0)
{
flag=false;
break;
}
}
if(flag==true)
return true;
else
return false;
}
}
0 comments:
Post a Comment