博客作业2---线性表

Posted 圣多美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客作业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.谈谈你对线性表的认识?

线性表是最基本、最简单、也是最常用的一种数据结构。
线性表中数据元素之间的关系是一对一的关系
线性表的逻辑结构简单,便于实现和操作

3.代码Git提交记录截图。

以上是关于博客作业2---线性表的主要内容,如果未能解决你的问题,请参考以下文章

博客作业2---线性表

博客作业2---线性表

博客作业02---线性表

博客作业2---线性表

博客作业2---线性表

博客作业2---线性表