第02次作业-线性表

Posted 绅士xiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第02次作业-线性表相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

1.题目1:

题目:

6-2 线性表元素的区间删除(20 分)

给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。

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

不同与课堂派上的题目,需要比较将元素与最大值和最小值进行比较

List Delete( List L, ElementType minD, ElementType maxD ){
    int i,j=0,k,d;
   
    k=0;**k来计算删去的节点量
    for(i=0;i<=L->Last;i++){
     if(L->Data[i]>minD&&L->Data[i]<maxD){**判断节点是否满足条件,若满足则删去
      k++;
     }
     else{
      L->Data[j++]=L->Data[i];
     }
    }
    L->Last=L->Last-k; 删去被删掉的节点的长度
    return L;
}

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

 

4.PTA提交列表说明。

将这道题目与课堂派小测上的题目弄混

 

1.题目1:题目名称

6-3 jmu-ds-链表倒数第m个数(20 分)

已知一个带有表头节点的单链表,查找链表中倒数第m个位置上的节点。

  • 输入要求:先输入链表结点个数,再输入链表数据,再输入m表示倒数第m个位置。
  • 输出要求,若能找到则输出相应位置,要是输入无效位置,则输出-1

2. 设计思路

题目一开始,我以为用双链表来进行编程,可以直接倒过来进行寻找节点,但是用单链表的方法也更简单,可以计算出正数第几个节点

int Find(LinkList L, int m ){
 LNode *p=L->next;
 LNode  *x=L->next;
 int i=0;
 int j;
 while(p!=NULL){**用这部分计算链表的长度
  p=p->next;
  i++;
 }
 j=i-m;**于是就可以计算出往前数第几个是所要寻找的节点
 if(m>i||m<=0){
  return -1;
 }
 else{
 
 for(j;j>0;j--){**然后直接进行寻找就可以找出
  x=x->next;
 }
 return x->data;}
}

3.代码截图

 

4.PTA提交列表说明。

没看清楚题目,若是输入错误,则要输出-1

1.题目3:

7-1 两个有序链表序列的合并(20 分)

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。

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

可以通过建立三个链表,通过前面俩个链表每个节点一次进行大小比较得出第三个链表,所得出的链表就不需要排序

void combine(List l1,List l2,List l3)
{
    l1=l1->Next;
    l2=l2->Next;
    while(l1!=NULL&&l2!=NULL)
    {
        if(l1->data>l2->data)**条件是判断哪个节点较小就赋予l3
        {
            l3->Next=l2;
            l2=l2->Next;
        }
        else
        {
            l3->Next=l1;
            l1=l1->Next;
        }
        l3=l3->Next;
    }
    if(l1==NULL&&l2==NULL) return;
    if(l1!=NULL)
        l3->Next=l1;
    else l3->Next=l2;
    return;
}

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

 

4.PTA提交列表说明。

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

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

1.顺序表PTA排名

 

 

2.链表PTA排名

 

3.我的总分:

3. 我的总分:215分

PTA总分在200--250分:2分

三、本周学习总结

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

每天都有抽出时间来进行数据结构的学习,可是基础并不扎实,基础的东西并没有高懂,好高骛远,应该踏实进行学习

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

线性表学习上,有点类似与数值,,其中各元素的相对位置都是线性的,除了第一位和最后一位,其中的元素都有前一位和后一位但都唯一,且相对与数组来说操作计算量更小

3.代码Git提交记录截图


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

第02次作业-线性表

第02次作业-线性表

第02次作业-线性表

第02次作业-线性表

第02次作业-线性表

第02次作业-线性表