第02次作业-线性表
一、PTA实验作业
第一题:6-3 jmu-ds- 顺序表删除重复元素
1、题目:
2、代码截图:
3、设计思路:
主要功能函数DelSameNode
定义变量i,j,k分别在循环是用做记录,来控制循环结束。
for i=0 to L->length-1 i++{
for k=i+1 to L->length k++{
if(L->data[i]==L->data[k])//如果data i 跟data k 相等 for j=k to L->length j++
L->data[j]=L->data[j+1]即为 此项被删除后面的每一位元素都向前移了一位
4、PTA提交列表说明:
错误展示:
一直出现格式错误,经调试发现没有按题目的要求来输出,最后出现了空格,经改动先输出第一个元素,在循环输出 “空格 后面的元素”即复合了题目要求,代码正确完成。
第二题:6-2 jmu-ds-单链表逆置
1、题目:
2、代码截图:
3、设计思路:
创建两个新指针p,q;
p指向L-next链表第一个元素,然后断开头节点与链表即为L->next=NULL;
遍历一遍链表while(p!=NULL)
{
q=p此时q中存有第一个元素
p指向p->next
q与L连起来
L->next =q 把q的值给头节点的下一个元素,相当于头插法的操作,每循环一次将后面的元素插在头节点之后,就完成了逆置的操作。
}
4、PTA提交列表说明:
这道题做的时候没出现太大的错误,只是由于一点小细节导致了编译错误,经修改之后,一遍通过perfect!
第三题:7-1 两个有序链表序列的合并
1、题目:
2、代码截图:
3、设计思路:
定义三个有序表L1,L2,L3
void sort{
比较s1->data与s2->data的大小如果s1<s2则
r->next-s1
r=r->next
s1=s1->next
否则相反
r即为合并后的新表
4、PTA提交列表说明:
二、截图本周题目集的PTA最后排名
1、顺序表PTA排名
2、链表PTA排名
3、我的总分:215分
PTA总分在200--250分:2分
三、本周学习总结
1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?
答:每周五会布置PTA作业,我周六周日做一部分,周一周二尽量把剩下的完成,但这一周作业稍有些难,就完成的慢了一点,然后数据结构的预习作业会按老师的要求完成,上课也会很认真的听讲,对自己的安排还算满意,希望自己能再灵光一点,对数据结构有更深的理解。
2.谈谈你对线性表的认识?
答:
1.线性表是n个数据元素的有限集合
2.他存在唯一的一个被叫做“第一个”的数据元素,存在唯一的一个被叫做“最后一个”的数据元素。
3.除了第一个数据元素外,其它的数据元素都有一个前驱。除了最后一个数据元素外,其它的数据元素都有一个后继。即中间的元素有一个前驱和一个后驱
4.线性表是一个动态的线性数据结构,他的长度可以在运行时根据需要增加或者缩短。
5.线性表有顺序表,单链表,双向链表,循环链表,静态表
3.代码Git提交记录截图
在码云的项目中,依次选择统计-Commits历史-设置时间段,进行搜索并截图,如下图所示,需要出现学号、项目提交说明。请在码云中将你的昵称改为“学号-姓名”。