第02次作业---线性表

一、PTA实验作业

本周要求挑3道题目写设计思路、调试过程。设计思路用伪代码描述。题目选做要求:

  • 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装
  • 单链表选择一题(6-1不能选)
  • 有序表选择一题


1.题目

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

2.  6-3 jmu-ds-链表倒数第m个数

3.  6-2 jmu-ds-单链表逆置

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

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

2.  6-3 jmu-ds-链表倒数第m个数

 

3.  6-2 jmu-ds-单链表逆置

 

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

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

2.  6-3 jmu-ds-链表倒数第m个数

 

3.  6-2 jmu-ds-单链表逆置

4.PTA提交列表说明。

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

     

错误点:全顺序或者最长子列存在于原来数据的结尾,则不能返回正确的答案

解决方法:由于题目中说这些元素都是正整数,则在输入时,在最后一个数组元素中加一个元素-1,来作为数组结束的标志,当完成这个思路时,全顺序和全逆序两个错误点一并解决了。

错误点:段错误

解决方法:是因为自己定义的数组不够大,扩大数组就可以了。

2.  6-3 jmu-ds-链表倒数第m个数

3.  6-2 jmu-ds-单链表逆置

 

错误点:直接在原链表上进行改动,导致思路混乱。

解决方法:新建一个节点空间用来存放需要倒置的节点,用头插法将每个节点插入新的链表。


二、截图本周题目集的PTA最后排名

本次2个题目集总分:290分

1.顺序表PTA排名

2.链表PTA排名

3.我的总分:

总分:2.5


 

三、本周学习总结

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

学习时间安排:每天都花大约一个小时来学习数据结构和语言

编程时间安排:平均一天一至两题

不懂问题是哪种方式交流:与舍友一起讨论,上网查询

2.谈谈你对线性表的认识?

线性表是一种数据的逻辑结构,有两种实现方式,一种是数组,另一种是链表。

数组方式:优点:可以很快的找到第i个位置的元素并进行返回

                  缺点:需要事先知道数组的大小,在进行删除操作时较为麻烦。

链表方式:优点:在进行插入和删除操作时较为简便,且不需要知道数据的大小。

                  缺点:查找元素时较为复杂,不能像数组那样通过下标一下子找到。

3.代码Git提交记录截图

原文地址:https://www.cnblogs.com/hexintong99/p/8638812.html