3.设计主要运算算法两个多项式相加运算两个按指数递减排序的多项式顺序表二路归并+整体创建顺序表相加的结果多项式顺序表11/38
3. 设计主要运算算法 两个多项式相加运算 两个按指数递减排序的多项式顺序表 相加的结果多项式顺序表 二路归并 + 整体创建顺序表 11/38
public staticPolyclass Add(PolyclassL1,PolyclassL2)( int i=o,j=o; double c;PolyclassL3=newPolyclass();while(i<L1.poly.size()&&j<L2.poly.size())//L1的元素的指数较大(if(L1.poly.get(i).exp>L2.poly.get(j).exp)L3.Add(new PolyElem(L1.poly.get(i).coef,L1.poly.get(i).exp));i++;子elseif(L1.poly.get(i).exp<L2.poly.get(j).exp)//L2的元素的指数较大L3.Add(new PolyElem(L2.poly.get(j).coef,L2.poly.get(j).exp));j++;7else//两元素的指数相等(c=L1.polyget(i).coef+L2.poly.get(j).coef;//求两指数的系数和cif (c!=0)//系数和c不为0时复制L3.Add(newPolyElem(c,L1.poly.get(i).exp)):i++; j++;12/38
public static PolyClass Add(PolyClass L1,PolyClass L2) { int i=0,j=0; double c; PolyClass L3=new PolyClass(); while (i<L1.poly.size() && j<L2.poly.size()) { if (L1.poly.get(i).exp>L2.poly.get(j).exp) //L1的元素的指数较大 { L3.Add(new PolyElem(L1.poly.get(i).coef,L1.poly.get(i).exp)); i++; } else if (L1.poly.get(i).exp<L2.poly.get(j).exp) //L2的元素的指数较大 { L3.Add(new PolyElem(L2.poly.get(j).coef,L2.poly.get(j).exp)); j++; } else //两元素的指数相等 { c=L1.poly.get(i).coef+L2.poly.get(j).coef; //求两指数的系数和c if (c!=0) //系数和c不为0时复制 L3.Add(new PolyElem(c,L1.poly.get(i).exp)); i++; j++; } } 12/38
1/复制L1余下的元素while(i<L1.poly.size())L3.Add(new PolyElem(L1.poly.get(i).coef,L1.poly.get(i).exp));i++;71/复制L2余下的元素while(j<L2.poly.size())(L3.Add(new PolyElem(L2.poly.get(j).coef,L2.poly.get(j).exp))j++;子return L3;13/38
while (i<L1.poly.size()) //复制L1余下的元素 { L3.Add(new PolyElem(L1.poly.get(i).coef,L1.poly.get(i).exp)); i++; } while (j<L2.poly.size()) //复制L2余下的元素 { L3.Add(new PolyElem(L2.poly.get(j).coef,L2.poly.get(j).exp)); j++; } return L3; } 13/38