数据结构5 队列

队列:受操作约束的线性表,插入删除在两头
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有三个分量
当加入一个元素的时候,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,不是就插进去
怎么返回
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值