Этот метод устанавливает значения коэффициента и экспоненты для полинома по порядку.
Он работает правильно. (Val = коэфф и val2 = ехр)Упростите коэффициент однотипных полиномиальных параметров с помощью Circular LinkedList
public void setCoef(int val, int val2){
Node nptr = new Node(val, val2, null, null);
Node tmp, ptr;
boolean ins = false;
if (start == null)
{
nptr.setLinkNext(nptr);
nptr.setLinkPrev(nptr);
start = nptr;
end = start;
}
else if (val2 >= start.getData2())
{
nptr.setLinkPrev(end);
end.setLinkNext(nptr);
start.setLinkPrev(nptr);
nptr.setLinkNext(start);
start = nptr;
}
else if (val2 <= end.getData2())
{
end.setLinkNext(nptr);
nptr.setLinkPrev(end);
nptr.setLinkNext(start);
start.setLinkPrev(nptr);
end = nptr;
}
else
{
tmp = start;
ptr = start.getLinkNext();
while (ptr != null)
{
if (val2 <= tmp.getData2() && val2 >= ptr.getData2())
{
tmp.setLinkNext(nptr);
nptr.setLinkPrev(tmp);
nptr.setLinkNext(ptr);
ptr.setLinkPrev(nptr);
ins = true;
break;
}
else
{
tmp = ptr;
ptr = ptr.getLinkNext();
}
}
if (!ins)
{
tmp.setLinkNext(nptr);
nptr.setLinkPrev(tmp);
}
}
size++;
}
В этом примере, я не мог понять, как упростить 2x^3 + 5x^3 узла, какодин узел 7x^3, не нарушая приказ.
p1.setCoef(2, 3);
p1.setCoef(5, 3);
Этот пример должен быть 5x^8 + 5x^7 + 5x^6.
p1.setCoef(3, 6);
p1.setCoef(5, 7);
p1.setCoef(2, 6);
p1.setCoef(5, 8);
Нет проблем с моим методом toString.
В ожидании вашей помощи, спасибо заранее!
отследить ваши значения экспоненты и проверить, существует ли он уже. если да -> вы просто пересчитываете коэффициент, иначе -> создайте новый узел с коэффициентом, exp и обновите список. – zubergu