队列:受操作约束的线性表,插入删除在两头



有三个分量
当加入一个元素的时候,rear加1,当删除一个元素的时候,Front加一。一开始front是-1,front指向头一个元素在前面一个元素。rear指向最后一个元素的位置
1.删除一个job

2.增加一个元素



现在队列后面已经满了,要看前面的应该怎么添加。
所以有了循环队列


加入一个元素,rear向前挪一个。

删除一个元素,front往前挪一个。

这时候就是慢的


数量不一样

tag可以看到最后一个元素是插入还是删除。
可以采取第二种方法。不放满。

用求余函数



链表的结点结构

链表的指针,分别指向链表的头和尾


当front不指向任何东西,等于none的时候就是空的




P1 P2是结构的指针


一开始的时候,front指向temp,这是在头节点前面的一个节点。接手之后要指向真正的头节点
练习题:多项式的乘法




大框架


PP也是结构的指针 全都是指针
读多项式应该怎么做?
先看一下多项式的形式是什么样子的
如然后
读入多项式的大框架

先读4,指数递降读入。构造节点把他插入链表。



如果Rear是NULL的时候,是刚开始的第一个节点。这个时候要申请这个节点,然后再把NULL指向这个节点。如果Rear值不为NULL,因为从第二项开始Rear值不为NULL 了,直接把新的节点插入Rear节点后面。attach必须要判断Rear是不是NULL

第二个比较简单,不用判别rear时不时null,attach函数比较简单。

申请空节点的方法




最后的结果是什么


把中间的删掉。


rear先指向一个空节点
1.这是对t2的每一项进行处理。
2.
两个多项式相乘的大框架

1.先构造一个初始多项式。
2.当前结果知道了怎么插进去
3.最后结果怎么处理
1.
2.
先把指数和系数算出来。找到要插入的点在哪里。

while循环,比较当前rear要 指向的下一个节点的是不是要比当前的大。
判别指数是不是一样

判断加上之后是不是等于0,不是就插进去
怎么返回


519

被折叠的 条评论
为什么被折叠?



