码迷,mamicode.com
首页 > 其他好文 > 详细

第02次作业-线性表

时间:2018-03-24 20:40:34      阅读:785      评论:0      收藏:0      [点我收藏+]

标签:顺序表   思路   nbsp   完全   pos   设置   bre   方式   处理   

一、PTA实验作业

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

  • 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装
  • 单链表选择一题(6-1不能选)
  • 有序表选择一题

1.题目:

6-3 jmu-ds- 顺序表删除重复元素(25 分)

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

  • 输入格式: 第一行输入顺序表长度。 第二行输入顺序表数据元素。中间空格隔开。
  • 输出格式:数据之间空格隔开,最后一项尾部不带空格。
  • 输出删除重复元素后的顺序表。
  • 你需要实现的函数有下面三个:

6-2 jmu-ds-单链表逆置(25 分)

本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表为带头结点链表。链表结点定义如下:

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

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

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

 


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

技术分享图片

3.代码截图

技术分享图片

4.PTA提交列表说明

技术分享图片

1.刚开始数组元素如果有n个的话,它的下标最大只能到n-1,因为下标从0开始,而这个顺序表的length也是从0开始的,

    所以判断条件是小于而不是小于等于;

2.格式错误,最后一个不能有空格。

3.解决空格问题,加了一个判断语句;

4.如果按照这样的顺序,开始已经输出了最后一个还带了空格,但是进去if判断是最后一个又输出了一个,换下顺序就OK了;

5.输出for循环少了一个}

6.加了一个break,初始化函数里把你的长度的位置换了一下。


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

技术分享图片

技术分享图片

 

3.我的总分:

总分:1分


 

三、本周学习总结

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

学习时间安排:每天都花大约一个小时来学习c语言,因为c语言的知识还没有完全掌握;也不太会编程;学习压力很大;

编程时间安排:几天一题,感觉数据结构很难,学习跟不上,很痛苦;学习效率也不高,一个题都纠结好久甚至几天都没有问出个所以;

不懂问题是哪种方式交流:问舍友,班上成绩好的同学,上网查询

不满意,以后加花更多的时间来学习数据结构,不懂的继续多问问老师和同学,努力把c语言,数据结构学会;学会编程;

还有老师讲课的时候感觉自己听懂了,但是自己来打代码还是不会打,有时候连思路都没有。

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

线性表是一种数据的逻辑结构,线性表:零个或多个数据元素的有限序列。

几个关键的地方: 
首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都只有一个前驱和后继。

然后,线性表强调是有限的。事实上,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。

如果用数学语言来定义。可如下: 
若将线性表记为(a1,…,ai-1,ai,ai+1,…,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i = 1,2,…,n-1时,ai有且仅有一个直接后继,当i = 2 , 3 , … , n时,ai有且仅有一个直接前驱。

所以线性表元素的个数n(n ≥ 0)定义为线性表长度,当n=0时,称为空表。在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素,称i为数据元素ai在线性表中的位序。

 线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点)。线性表这种数据结构在实际应用中是广泛采用的一种数据结构。

3.代码Git提交记录截图

在码云的项目中,依次选择统计-Commits历史-设置时间段,进行搜索并截图,如下图所示,需要出现学号、项目提交说明。请在码云中将你的昵称改为“学号-姓名”。

 

 

第02次作业-线性表

标签:顺序表   思路   nbsp   完全   pos   设置   bre   方式   处理   

原文地址:https://www.cnblogs.com/chenhuilin/p/8640986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!