DS博客作业02--线性表
1.本周学习总结
1.1思维导图

1.2.谈谈你对线性表的认识及学习体会
这阶段学习学的是线性表,学习线性表的两种存储顺序-----链表和顺序表,体会了两者存储结构之间的区别,通过对顺序表,单链表,双链表,循环链表,有序表的特点的了解,和学习它们的算法设计方法,综合运用线性表解决一些问题,在查资料时,也领悟一点单双链表的在一些方面使用的优劣,对线性表的知识更加加深一点。
2.PTA实验作业
2.1.题目1:6-2 jmu-ds-有序表插入数据
2.1.1设计思路(伪代码)
void CreateSqList(SqList &L, int n)
分配存放线性表L的空间;
定义k表示L中的元素个数,初始值为0;
while(i<n//扫描数组元素){
将a[i]存放入L中;
k++;
i++;
}
设置L的长度k;
void InsertSq(SqList &L, int x)
定义i=1,使插入的数放在第一个位置;
定义j来使线性表向后退一位
定义k和t来进行两层循环排序
定义y当中间值对调需要对调的两个数值
if i的值错误,返回false;
for j=L->length to i
将线性表往后退一格
将x存入第一个位置
Length++;
for k=0 to L->length
{
for t=0 to k
if(L->data[k]=L->data[t])
用y为中间值将两个对调
end for
}
end for;
void DispSqList(SqList L)
int i来遍历线性表
if L->length=0
cout <<"error"
else
for i=0 to L->length-1
cout<< L->data[i];
if i!=L->length-1
输出空格
2.1.2代码截图


2.1.3本题PTA提交列表说明

- Q1:一开始还不熟悉线性表,编译错误
- A1:后来看书看题,慢慢钻研
- Q2:部分正确
- A2:因为一开始空格输出没有弄好,导致后面一直出现格式错误
- Q3:关于算法
- A3:一开始有用过遍历比较哪个位置可以插入,后来出现一些错误,直接改把数插在第一个,然后冒泡排序。
2.1.题目1:6-5 jmu-ds-头插法建链表
2.2.1设计思路(伪代码)
void CreateListF(LinkList &L,int n)
创建结点s;
L=new Lnode
创建头结点,其next域为0
for int i=0 to n
遍历将a[i]的值存入链表
s->next=L->next
L->next=s
将s插入之前首节点的前面,头结点之后
void DispList(LinkList L)
定义p指向首结点
while(p!=NULL)
输出p结点的data域
p指向下个结点
并且if(p->next!=0)
cout<<" "
2.2.2代码截图

2.2.3本题PTA提交列表说明

- Q1:段错误
- A1:链表傻傻指向搞不清楚,导致乱指,然后各种错误
- Q2:格式错误
- A2:同上
2.3.题目3:6-7 jmu-ds-单链表逆置
2.3.1设计思路(伪代码)
void ReverseList(List &L)
创建p结点和q结点
p指向首节点
其next域制空
while (p)
将链表同时向后退一位
使用头插法使链表逆序
2.3.2代码截图

2.3.3本题PTA提交列表说明

- Q1:编译错误
- A1:原本打在建一个链表,然后逆序存放,结果没弄好
- Q2:头插法之外
- A2:头插法还是同学帮忙提出思路,助教说的直接改数值也ok,黑猫白猫,抓鼠就是好猫。
3、阅读代码
3.1 题目
3.2 解题思路
3.3 代码截图
3.4 学习体会
DS博客作业02--线性表的更多相关文章
- DS博客作业02—线性表
1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2.谈谈你对线性表的认识及学习体会. 线性表最重要的就是对指针的操作,插入删除都是看指针的指向进行操作以达到改变节点,以达到目的的.对于上学 ...
- DS博客作业01--线性表
1.本周学习总结(0--2分) 1.1思维导图 1.2.谈谈你对线性表的认识及学习体会. 1.线性表的内容上了三星期的课,相对来说内容比较丰富,尤其是链表方面,包含单链表,双链表和循环链表.作为第一部 ...
- DS博客作业05--查找
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...
- DS博客作业--07查找
目录 DS博客作业--07查找 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 2.1.题目1:6-1 二叉搜索树的操作集 (30 分 ...
- DS博客作业04--图
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业04--图 这个作业的目标 学习图结构设计及相关算法 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1. ...
- DS博客作业03--树
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...
- DS博客作业——树
DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...
- DS博客作业08--课程总结
DS博客作业08--课程总结 1.当初你是如何做出选择计算机专业的决定的? 1.1 经过一年学习,你的看法改变了么,为什么? 1.2 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 1. ...
- c语言1博客作业02
c语言1博客作业02 这个作业属于哪个课程 C语言程序设计 这个作业的要求在哪 [作业要求](https://edu.cnblogs.com/campus/zswxy/SE2019-2/homewor ...
随机推荐
- 【憩园】C#并发编程之异步编程(二)
写在前面 前面一篇文章介绍了异步编程的基本内容,同时也简要说明了async和await的一些用法.本篇文章将对async和await这两个关键字进行深入探讨,研究其中的运行机制,实现编码效率与运行效率 ...
- 点击菜单选项,右侧主体区新增子界面(Tab)的实现
今天是2019年小年后一天,还有三天回家过年. 今天记录一下一种前端页面的效果的实现,这种效果很常见,一般用于网站后台系统的前端页面.一般后台系统会分为顶部导航栏,左边的菜单栏和右边的主体区.有一种效 ...
- Windows 10 安装ElasticSearch(2)- MSI安装ElasticSearch和安装Kibana
翻阅上篇文章:Windows 10 安装 ElasticSearch 上次写的是下载Zip包安装的,在下载页面 发现有 MSI (BETA) 的下载可选项.了解之后发现MSI安装也值得尝试. MSI安 ...
- PHP进程信号处理
PHP进程信号处理 php有一组进程控制函数PCNTL,使得php能在*nix系统中实现跟c一样的创建子进程.使用exec函数执行程序.处理信号等功能. 注意:pcntl这个扩展仅在cli/cgi模式 ...
- 基于hadoop分析,了解hive的使用
一.Hadoop理论 Hadoop是一个专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式. Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce ...
- APICloud Studio2新建应用报错和检出错误
今天心血来潮,闲暇时间想做个移动应用app,听一哥们说APICloud开发app很方便,就查询了一下,看了之后简直就是热血沸腾,我感觉正是我一直要找的工具 信心满满的开始着手使用,看了一下介绍我选择了 ...
- Websocket-Sharp获取客户端IP地址和端口号
//OnOpen事件 protected override void OnOpen() { string IPAddress = base.Sessions.Sessions.First().Cont ...
- vue watch监听验证码时,axios延迟发送post请求。
标题写的全面一些,方便其他人检索,我就是找了半天找不到资料,最后自己搞定了. 原理: 每次监听到输入值变化,就打一个时间戳,然后暂停2秒再去提交post验证. 但是每次提交前,判断一下之前打的时间戳和 ...
- 关于executemany()方法在不同OS和DB API下的不同表现的测试
昨天在参照着网上写一段关于MySQL连接池的配合gevent多线程调用的代码时遇到了一个问题,自己写的代码根本不能多线程执行,比单会话插入数据慢太多,直到今天早上才发现问题所在,把DB API从MyS ...
- Making A Circle Out Of Squares
方形画圆 解决方案: 循环偏移5角度画方形 效果图: Python 源码 import turtle; window = turtle.Screen(); window.bgcolor("p ...