0
該方法按順序設置多項式的係數和指數值。
它工作正常。 (VAL =係數_和val2 = EXP)使用循環鏈表簡化相同功率多項式參數的係數
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 + 5×^ 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方法也沒有問題。
等待你的幫助,提前致謝!
跟蹤您的指數值並檢查是否已經存在。如果是 - >您只需重新校正係數,否則 - >用coeff,exp創建新節點,並更新您的列表。 – zubergu