博客作业2---线性表

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

#一丶PTA实验作业 ##题目1:6-2 线性表元素的区间删除

2. 设计思路

定义整型变量i,j;
新定义一个链表 L1;
for i=0 to L->Last     遍历链表
  if(L->Data[i]<maxD&&L->Data[i]>minD)
   则  L->data[i]=0(作为重构筛选标志)
end for
for i= 0 to L->last 
    if(L->Data[i]!=0)
       则  L1->Data[j]=L->Data[i];
         j++递增;
end for
尾指针L->Last=j-1;
返回L1;
    

3.代码截图

4.PTA提交列表说明

  • 新定义顺序表是要给它重新分配空间
L1=(List)malloc(sizeof(struct LNode)) ;

  • 尾指针初始L->Last应为-1,最终指向表尾

题目2:6-3 jmu-ds-链表倒数第m个数

2. 设计思路

定义整型变量 i,n,g,结构体指针p=L->next,s;
for p=L->next to p=NULL  遍历链表求出长度
    g++;
    p=p->next;
end for
s=(LinkList)malloc(sizeof(LNode));  分配空间
s=L;
for i=0 to g-m    将结构体指针移到倒数位置
    s=s->next
end for



    

3.代码截图

4.PTA提交列表说明

  • 为判断明确输入数据为无效的情况,在大于链表长度以及输入负数时均为不满足情况

题目3:7-1 两个有序链表序列的合并

2. 设计思路

typedef struct LNode	//定义单链表结点类型
{
  ElemType data;
  struct LNode *next;
} LinkList;

定义结构体链表*L1,*L2,*L3,结构体指针*r,*s
L1=(LinkList *)malloc(sizeof(LinkList));动态分配空间
L1->next=NULL;(L2,L3同)
r=L1
输入number
for  to -1
   s=(LinkList *)malloc(sizeof(LinkList));
   s->data=number   尾插法
   s->data=number;
   r->next=s;
   r=s;
   输入number
end for
(L2输入数据操作同L1) 
while  to   p->data=-1 || q->data=-1   二路归并
   if(p->data<q->data)
     则 e=(LinkList *)malloc(sizeof(LinkList));
         e->data=p->data;
          r->next=e;
          r=e;
         p=p->next;
     else 
           e=(LinkList *)malloc(sizeof(LinkList));
	e->data=q->data;
	r->next=e;
	r=e;
       q=q->next;
end  while
 if(p->data==-1)
     则while to  q->data=-1
           	e=(LinkList *)malloc(sizeof(LinkList));
		e->data=q->data;
		r->next=e;
		r=e;
		q=q->next;
         end  while
        r->next=NULL
 else
       while to  p->data=-1
           	e=(LinkList *)malloc(sizeof(LinkList));
		e->data=q->data;
		r->next=e;
		r=e;
		p=p->next;
         end  while
        r->next=NULL
s=L3->next;
if(L3!=NULL){
	则while to s=NULL
          按格式输出s->data
   else  输出NULL;



  

3.代码截图


4.PTA提交列表说明

  • 不明白大数据输入为什么通不过,测试不出来
  • 习得了二路归并法

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

1.顺序表PTA排名

2.链表PTA排名

我的总分:155

三、本周学习总结

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

  • 写代码时一直需要翻阅书本,对基本知识点掌握不够牢固
  • 预习时不能仅限于课堂,自己也需要拓展

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

  • 线性表是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。
  • 线性表特点:线性表的逻辑顺序与物理顺序一致,数据元素相邻的位置与计算机的物理位置相同

3.代码Git提交记录截图

posted @ 2018-03-25 22:21  three。g  阅读(169)  评论(4编辑  收藏  举报