博客作业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.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

4.PTA提交列表说明。

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

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

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

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

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

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

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

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


4.PTA提交列表说明。

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

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.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)



4.PTA提交列表说明。



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

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

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

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

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

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

1.顺序表PTA排名

2.链表PTA排名

3.我的总分:

209

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

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

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

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

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

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

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

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

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

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

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

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

3.代码Git提交记录截图

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






4阅读代码

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

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

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

posted @ 2018-03-25 22:30  hahaha233  阅读(431)  评论(0编辑  收藏  举报