当前位置: 主页 > 浏览 >

多项式相加的链表实现

收藏 时间:2009-12-27 来源:查看 收藏:yyy 阅读:309 标签:多项式  实现  相加  指数  系数  建立  
多项式相加的链表实现program ex11_5b;typelink=^node;node=recordzhi,xi:integer;nxt:link;end;vara,b:link;n:integer;procedure createfifo(var c:link);{建立多项式系数、指数链表}varp:link;i:integer;beginnew(p);readln(p^.xi,p^.zhi
多项式相加的链表实现



program ex11_5b;

type

link=^node;

node=record

zhi,xi:integer;

nxt:link;

end;

var

a,b:link;

n:integer;

procedure createfifo(var c:link);{建立多项式系数、指数链表}

var

p:link;

i:integer;

begin

new(p);

readln(p^.xi,p^.zhi);

c:=p;

for i:=1 to n-1 do

begin

new(p^.nxt);p:=p^.nxt;readln(p^.xi,p^.zhi);

end;

p^.nxt:=nil;

end;

begin

write('One : '); readln(n); createfifo(a);

write('Two : '); readln(n); createfifo(b);

write('Result is ');

while (a<>nil) and (b<>nil) do

begin

if a^.zhi>b^.zhi then

begin

if a^.xi<0 then write(#8' '#8);

write(a^.xi,'x',a^.zhi,'+');

a:=a^.nxt;

end

else

if a^.zhi
begin

if b^.xi<0 then write(#8' '#8);

write(b^.xi,'x',b^.zhi,'+');

b:=b^.nxt;

end

else

begin

if b^.xi+a^.xi<>0 then

begin

if b^.xi+a^.xi<0 then write(#8' '#8);

write(b^.xi+a^.xi,'x',b^.zhi,'+');

end;

b:=b^.nxt;

a:=a^.nxt;

end;

end;

while a<>nil do

begin

if a^.xi<0 then write(#8' '#8);

write(a^.xi,'x',a^.zhi,'+');

a:=a^.nxt;

end;

while b<>nil do

begin

if b^.xi<0 then write(#8' '#8);

write(b^.xi,'x',b^.zhi,'+');

b:=b^.nxt;

end;

writeln(#8' '#8);

readln;

end.

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论 所有评论
你还没登录,请先登录后再来评论!
推荐内容
新知先觉