博客作业2---线性表

一、PTA实验作业(5分)

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

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


  定义顺序表L
  定义循环变量i;变量count=0,flag=1(该起始的数一个);变量n(总个数),变量last和next存放前一数与后一数
  创建线性表并赋值
   for(i=0;i<L->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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值