数据结构习题
文章平均质量分 63
以数据结构作业为主做题的过程以及个人思考
小侯不躺平.
暂就读于西安邮电大学计算机科学与技术专业 普普通通一枚大学生 21级计科
展开
-
数据结构习题2(合并链表)
根据题目可以看出如果a链表比b链表长则b的数据在新链表的第一个位置,且a链表穿插存储在新链表之中,最后将a所剩余的链表存储在新链表的最后,若b链表比a链表长则是一样的道理,在这里就不多说了,创建和输出链表大家应该已经很熟悉了,所以我就直接上代码啦!设带头结点的线性单链表A=(a1,a1......,am),B=(b1,b2,......,bn)。该题目以我个人的思考来说对于链表之间的题目,此类型题目还算简单就是要注意一些小细节,例如在使用结点之前需要保存它的后一个结点否则后面的数据便会消失。原创 2022-09-13 15:35:05 · 402 阅读 · 0 评论 -
C++数据结构稀疏矩阵运算(含加减乘及快速转置)
该函数实现的功能是矩阵的乘法,我们在线性代数中学习到的只有当前一项的列等于后一项的行时才可以进行相关的乘法,并且乘法规律则是第一行乘以第一列并且求和等于结果矩阵的1,1位置第一行乘以对应相乘第二列并且求和等于1.2位置以此类推。下面是稀疏矩阵的快速转置的实现,我们首先要定义两个数组来存储每一列具有多少个元素并且记录该列将转置到三元组的第几个位置,num数组则是存储一列具有多少个元素,position将记录转置到第几个位置。具体的实现内容则是进行循环将其相应位置进行加减法的运算即可。具有相应的报错处理。原创 2022-10-20 09:25:11 · 3627 阅读 · 8 评论 -
数据结构题 3(一元多项式计算器)
在一元多项式的乘法之中我们利用的函数与其加法函数相同都是使用二级指针,直接对链表本身进行修改,每一项与另一项进行相乘,所以我们才函数开头需创建两个指针,其中一个指针指向链表的头指针,保存链表内容。若链表输入的数据比下一个数据的指数要小于或等于的时候则跳出while循环进入判断语句if,如果该数据的指数与下一结点的指数相等的时候continue退出不将数据保存在链表之中,若比下一个结点的指数要小的时候则保存在下一个结点之前的位置。在创建链表时则需要考虑其链表中所要的值:指数、系数和指向下一个节点的指针。原创 2022-09-15 10:14:11 · 1959 阅读 · 0 评论 -
数据结构习题1
根据题目可知我们可以使用查询函数找到第一个删除的地方(保存它的前驱结点以方便将这一段链表在la中删除掉)然后依据len的长度找到最后一个删除的位置,然后按照删除操作的代码正常对其进行删除即可。插入时也可以使用查询函数对要插在第几个之后进行查找,找到插入结点的前一个结点然后将被删除的结点一个个插入到lb表中即可。此代码运行的结果也与上面一致,同时我们也可以进行尾插方式插入,该代码中使用的是头插的方式将被删除的数据存入Lb链表之中因为代码在创建链表时使用的是尾插方式,所以这里我选择使用头插方式插入。原创 2022-09-13 14:55:06 · 623 阅读 · 0 评论