博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博客作业2---线性表
阅读量:7042 次
发布时间:2019-06-28

本文共 2144 字,大约阅读时间需要 7 分钟。

一、PTA实验作业(5分)

1.题目1:7-1 最长连续递增子序列

2. 设计思路(伪代码或流程图)

定义顺序表L  定义循环变量i;变量count=0,flag=1(该起始的数一个);变量n(总个数),变量last和next存放前一数与后一数  创建线性表并赋值   for(i=0;i
length;i++){ 利用last和next存放前后数的值 当后一个数比较大时 flag++;continue计算连续递增子序列的长度 当flag>count时 count=flag;number=i来保留最大的递增处末位置 当last>next时 flag=1重新计算新的递增子序列长度 } 全顺序递增时 count=flag;number=i; 输出起始位置number-count+1到number这段数据的值}

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

1233791-20180320215858769-644478157.png

4.PTA提交列表说明。

1233791-20180320215955084-1376906273.png

1233791-20180320220028789-1267978929.png

自己在调试好发上去后部分正确

1233791-20180320220739904-667324829.png

发现自己的代码不完善,如果全顺序意味着一直进入有continue的语句而没有对count进行赋值,所以自己后来加上了全顺序条件的考虑

但是最后一个点自己一直过不去,以为是maxsize的最大值问题,自己改大了好多次maxsize的值,一直还是不正确,在把maxsize调小在Devc++去取临界点时

发现也没出错,后来询问同学,试着把自己的循环修改为从0开始就正确

1233791-20180325170823303-982393754.png

1.题目2:6-2 jmu-ds-单链表逆置

2. 设计思路(伪代码或流程图)

先按照题目要求用尾插法建立单链表 在转置函数中定义p=L->next;L->next=NULL;用头插法重新建立单链表 输出单链表中的数据

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

1233791-20180325172402758-1972794106.png

1233791-20180325172420246-1486165411.png

4.PTA提交列表说明。

1233791-20180325172442396-1497186772.png

自己在链表为空的条件上出现错误,进行判断修改后正确

1.题目3:7-4(选做) 一元多项式求导

2. 设计思路(伪代码或流程图)

typedef int ElemType;typedef struct LNode    //定义单链表结点类型{    ElemType data;//存放系数    ElemType number;//存放指数    struct LNode *next;} LinkList;   创建链表,把系数存放到data指数存放到number,输入数据   进行求导,把每个结点中的data值改为data与number的积,number的值减一   输出链表中新结点的值   销毁链表

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

1233791-20180325175008263-175922598.png

1233791-20180325175027955-1570598148.png
1233791-20180325175043056-1258684582.png

4.PTA提交列表说明。

1233791-20180325175102471-1385464106.png

1233791-20180325175450589-2110825212.png
1233791-20180325175513054-167623423.png

在devc++调试成功后放到pta出现错误,阅读自己代码发现是自己的循环条件的问题,导致大多数情况会多次循环

1233791-20180325175726784-1304677328.png

后自己修改试了随机几组数感觉正确

后因为自己的编译语言没调好有出现几次编译错误,自己在C与C++语言调整时,应为&的使用问题,总有编译错误

自己调整为c++语言后出现部分正确

1233791-20180325180037406-186071026.png

该条件的输出要求是输出是0 0

二、截图本周题目集的PTA最后排名(3分)

1.顺序表PTA排名

1233791-20180325180504574-1719187186.png

2.链表PTA排名

1233791-20180325180538457-976258322.png

3.我的总分:

209

三、本周学习总结(2分)

1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?(1分)

感觉自己大多数时间是在打代码,书看的比较少,对书中的一些代码理解也是模模糊糊的,因为用链表,很多错误devc++不会进行提醒,

但是程序总是无声无息的崩溃了,而且这次pta题目中函数的增加,在一些题目上的调试会花比较多的时间,感觉效率低下

不懂的问题一般是查书,与同学探讨

自己觉得还是抽空看看书吧,多理解理解链表的相关操作和注意事项

2.谈谈你对线性表的认识?(1分)

我认为线性表是一种一一对应的存储形式,方便数据的读取,查找,顺序表查找方便,而链表删除方便,节省空间

1 线性表是一种典型的线性结构,也是最常用的数据结构,具有一对一的关系,是具有相同特征的数据元素的一个有限序列

2 线性表的存储形式有顺序存储和链式存储

3 顺序表采用数组来实现,在使用顺序表时易出现空间的浪费

4 链表:每个储存节点包含数据域与指针域,有单链表,双链表,循环链表

3.代码Git提交记录截图

在码云的项目中,依次选择统计-Commits历史-设置时间段,进行搜索并截图,如下图所示,需要出现学号、项目提交说明。请在码云中将你的昵称改为“学号-姓名”。

1233791-20180327193902129-586650741.png
1233791-20180327193946820-761685140.png
1233791-20180327193957845-1337134770.png
1233791-20180327194007945-1983752167.png
1233791-20180327194016226-1195676189.png
1233791-20180327194027027-1394342323.png
1233791-20180327194043826-1600914077.png

4阅读代码

1233791-20180325225218093-827990479.png

这是艳钦同学多项式想乘的代码

她的思路是直接那个先用ha里的第一项去乘hb里的每一项,然后有一个递减的多项式,然后第二项去乘,然后找插入位置或者有可能是在末端,也就是尾插法

自己觉得这道题比较麻烦而且程序容易崩溃,自己在这题也调了挺久....虽然还没调完,我觉得艳钦同学代码考虑仔细,代码比较扎实,对方法运用熟练

转载于:https://www.cnblogs.com/linxiaolu/p/8612943.html

你可能感兴趣的文章
SpringMVC 拦截器和过滤器的区别&&Struts2拦截器和过滤器的区别
查看>>
Access:collating sort order SortOrder[2052(0)]
查看>>
Spark算子:RDD基本转换操作(1)–map、flagMap、distinct
查看>>
我的友情链接
查看>>
shell学习(二)变量
查看>>
Delphi随机数
查看>>
[置顶] webservice系列3---chain
查看>>
hibernate XML配置文件》cfg
查看>>
ExtJS2.0实用简明教程 - ExtJS的组件
查看>>
员工离职原因,只有两点最真实,其他都是扯淡!
查看>>
删除dataGridview中选中的一行或多行
查看>>
使用包ldap3进行Python的LDAP操作
查看>>
#4 Move Find into Model
查看>>
html5 canvas模拟的爆炸效果
查看>>
nodejs中几个excel模块的简单对比
查看>>
面向对象三大特征
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Ansible学习01-常用模块
查看>>
Java基础学习总结(21)——数组
查看>>