DS博客作业02--线性表

1.本周学习总结

1.1思维导图##

1.2.谈谈你对线性表的认识及学习体会。##

2.PTA实验作业##

本周要求挑3道题目写设计思路、调试过程。设计思路用伪代码描述。题目选做要求:

顺序表选择一题
单链表选择一题
有序表选择一题
原则上题目选择越难,代码量越大分值越高。

2.1.题目1:6-3 jmu-ds- 顺序表删除重复元素##

设计一个算法,从顺序表中删除重复的元素,并使剩余元素间的相对次序保存不变。

2.1.1设计思路(伪代码)##

定义变量 i,j,k  分别用做之后循环中的顺序表下标
for i=0 to L->length 遍历顺序表
for j=i+1 to L->length  
if  L->data[j]==L->data[i] 查找重复数据
for k=j+1 to L->length   
L->data[k--1]=L->data[k]   删除重复数据,之后的数据前移
end for
L-> length--
  end for 
    end for
if L->data[0]== L->data[L->length]  排除第一个数和最后一个数相等
L-> length--

2.1.2代码截图##


2.1.3本题PTA提交列表说明。##

2.2 题目2:6-8 jmu-ds-链表倒数第m个数##

2.21设计思路(伪代码)##

查找倒数第m个数前用到6-7的链表逆置  尾插法建立链表,头插法逆置链表
这样一来查找倒数m个数变为查找第m个数 较为便捷
建立新结点 node head
申请newL的动态空间
while L->next 不为空
申请node的动态空间
头插法 输入链表newL中 逆置L链表
end while
L=head
if m=0
return -1
for i=0 to m
L=L->next
end for
if L==NULL
return -1
else
return L->data

2.2.2代码截图##

2.2.3本题PTA提交列表说明。##

问题:部分正确的情况  少判断了当m为0时,位置无效的情况
解决:添加对m为0时的判断

2.3 题目3:##

2.3.1设计思路(伪代码)##


2.3.2代码截图##

2.3.3本题PTA提交列表说明。##

3、阅读代码##

3.1 题目##

3.2 解题思路##

3.3 代码截图##

3.4 学习体会##

posted on 2019-03-31 00:14  啦啦啦。  阅读(170)  评论(0编辑  收藏  举报

导航