Hi am new at java and I was wondering what would be a code to remove it if i provide the coeff
I know is
-Given the index you want to remove
-set the node at the previous index to point to the node at the next index
-set the index you want to remove as pointing to nothing, this includes setting its previous and next nodes to null
Can someone code this for me to see
// Polynomial.java
public class Polynomial
{
private int degree;
private Node head;
public static Polynomial addPolys(Polynomial poly1, Polynomial poly2)
{
Polynomial polyRes = new Polynomial();
int power = (poly1.degree > poly2.degree) ? poly1.degree : poly2.degree;
while (power >= 0)
{
Node n1 = poly1.head;
while (n1 != null)
{
if (n1.power == power)
break;
n1 = n1.next;
}
Node n2 = poly2.head;
while (n2 != null)
{
if (n2.power == power)
break;
n2 = n2.next;
}
if ((n1 != null) && (n2 != null))
polyRes.addNode(n1.coeff + n2.coeff, n1.power);
else if (n1 != null)
polyRes.addNode(n1.coeff, n1.power);
else if (n2 != null)
polyRes.addNode(n2.coeff, n2.power);
power--;
}
return polyRes;
}
public void addNode(int coeff, int power)
{
if (head == null) // start the list
{
head = new Node(coeff, power, null);
degree = power;
}
else
{
Node n = head;
Node last = null;
while (n != null)
{
if (power > n.power) // insert in list
{
if (last == null)
head = new Node(coeff, power, n);
else
last.next = new Node(coeff, power, n);
degree = power;
break;
}
last = n;
n = n.next;
}
if (n == null) // append to list
{
last.next = new Node(coeff, power, null);
}
}
}
public String toString()
{
StringBuffer strBuf = new StringBuffer();
Node n = head;
boolean first = true;
while (n != null)
{
int absCoef = n.coeff;
if (!first)
{
if (n.coeff >= 0)
strBuf.append(" + ");
else
{
absCoef = -absCoef;
strBuf.append(" - ");
}
}
strBuf.append(absCoef).append("x^^").append(n.power);
first = false;
n = n.next;
}
return strBuf.toString();
}
public class Node
{
public int coeff;
public int power;
public Node next;
public Node(int coeff, int power, Node next)
{
this.coeff = coeff;
this.power = power;
this.next = next;
}
}
}
// PolyTest.java
public class PolyTest
{
public static void main(String[] args)
{
Polynomial poly1 = new Polynomial();
poly1.addNode(3, 2);
poly1.addNode(4, 1);
poly1.addNode(4, 0);
Polynomial poly2 = new Polynomial();
poly2.addNode(3, 3);
poly2.addNode(-4, 2);
poly2.addNode(3, 0);
Polynomial poly3 = Polynomial.addPolys(poly1, poly2);
System.out.println(poly3);
}
}