博客作业2---线性表
一、PTA实验作业
6-3 jmu-ds- 顺序表删除重复元素
1. 设计思路
Create 函数
申请L的内存
L的初始长度定为0
for(i=0;i<n;i++)
L->data[i]=a[i]
L长度加一
DispSqList 函数
for(i=0;i<L->length;i++)
输出L->data[i]的值
DeiSameNode 函数
使用冒泡法排序
值较小的放前面
2.代码截图
3.PTA提交列表说明
部分正确:测试点的空表过不了,后来对这个情况特殊处理就可以了。
6-3 jmu-ds-链表倒数第m个数
1.设计思路
定义链表p
n=0
让p=L
L=L->next;
while(L)
n++; 算出总长度
L=L的下一个
如果输入不符
返回-1
让L=p再回到原来的起点
for(i=0;i<n-m;i++)
L=L->next 移动到想要的位置
返回该位置的值
2.代码截图
3.本题调试过程碰到问题及PTA提交列表情况说明。
编译错误:该题为C++,提交用的C,导致错误。
7-1 两个有序链表序列的合并
1. 设计思路
为L申请内存
定义 p=L1->next;
q=L2->next;
s=L;
while(p&&q){
if(p对应的值小于q对应的值){
s->next=p;
s=p; 尾插
p=p->next;}
else if(p对应的值大于q对应的值){
s->next=q;
s=q; 尾插
q=q->next;}
else if(p对应的值等于q对应的值){
s->next=q;
s=q;
q=q->next;
s->next=p; //重复数据都显示
s=p;
p=p->next;}
}
if(p不为空){
s->next=p;
s = p;
p = p->next;}
if(q不为空){
s->next=q;
s=q;
q=q->next;}
2.代码截图
3.本题调试过程碰到问题及PTA提交列表情况说明。
部分正确:当为空表时,答案错误。 对这个情况特殊处理就可以了。
并列时,答案错误。并列要全输进去,开始以为要删除,导致错误。
二、截图本周题目集的PTA提交列表及最后排名。
1.顺序表PTA排名
2.链表PTA排名
3.我的总分:215
三、本周学习总结
1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,
若不满意,打算做什么改变?
因为最近才拿到那本用的书,前段时间有去看学校发数据结构,确实理解起来
比较困难,而且有些地方介绍的比较模糊。所以基本是上课了解,还有预习作业
询问同学,自己查资料。所以可能效果不是很好。现在还是得多去看看书,多了解
一些东西。
2.谈谈你对线性表的认识?
线性表是最基本、最简单、也是最常用的一种数据结构。
线性表中数据元素之间的关系是一对一的关系
线性表的逻辑结构简单,便于实现和操作