20172327 2018-2019-1 《程序设计与数据结构》第四周学习总结

20172327 2018-2019-1 《程序设计与数据结构》第四周学习总结

教材学习内容总结

第六章 列表

列表集合

1.链表和列表对比:链表是一种实现策略,使用引用来在对象之间创建链接。列表集合是一种概念性表示法,列表可以由链表和数组来实现。

2.栈和队列都是线性结构,其元素只能在末端添加和删除。列表集合更一般化,可以在列表的中间和末端添加和删除元素。

3.列表集合分为3种类型:

有序列表(ordered list):其元素按照元素的某种内在特性进行排序。

无序列表(unordered list):其元素间不具有内在顺序,元素按照它们在列表中的位置进行排序。

索引列表(indexed list):其元素可以用数字索引来引用。

Java API 中的列表

1.Java集合API中提供的列表主要是支持索引列表。

2.Java API没有任何类能直接实现以上描述的有序列表。

3.Arraylist和Linkedlist都实现了java.util.List接口。

方法 描述
add(E element) 往列表的末端添加一个元素
add(int index,E element) 往指定索引处插入一个元素
get(int index) 返回指定索引处的元素
remove(int index) 删除指定索引处的元素
remove(E Object) 删除指定对象的第一个出现
set(int index,E element) 替代指定索引处的元素
size() 返回列表中的元素数量
列表ADT

1.很多常见操作可以为所有类型的列表定义,这些操作之间的差别在于如何添加元素。

2.

操作 描述
removeFirst 在列表中删除第一个元素
removeLast 在列表中删除最后一个元素
remove 在列表中删除某个元素
first 查看位于列表前端的元素
last 查看位于列表末端的元素
contains 确定列表是否含有某个元素
isEmpty 确定列表是否为空
size 确定列表中的元素数量

3.有序列表在添加元素时,只需要用add,位置取决于其键值。无序列表add操作有三种变体:addToFront(元素添加到列表前端)addToRear(元素添加到列表末端)addAfter(把元素添加到某个已知元素后边)

教材学习中的问题和解决过程

  • 问题1:

代码调试中的问题和解决过程

  • 问题1:在实现ArrayOrderedListTest测试时,我遇到了显示最后一个数字时,人家显示为null这个问题。

    图片

  • 解决分析,在我对前面ArrayList类检查时,发现我在显示last时,将rear-1不小心写成rear了,所以它所读取的是最后一个后边的,所以肯定为空。

代码托管

结对及互评

正确使用Markdown语法(加1分)

模板中的要素齐全(加1分)

教材学习中的问题和解决过程, (加3分)

代码调试中的问题和解决过程, 无问题

感想,体会真切的(加1分)

点评认真,能指出博客和代码中的问题的(加1分)

  • 20172317

    基于评分标准,我给以上博客打分:4分。得分情况如下:

  • 20172320

    基于评分标准,我给以上博客打分:8分。得分情况如下:

    • 结对学习内容

      • 教材第6章
      • 完成课后自测题,并参考答案学习
      • 完成课后练习题
      • 完成程序设计项目:至少完成PP6.8、PP6.11、PP6.17

其他(感悟、思考等,可选)

这周学的有点麻烦,栈还行,就是链表有点糊涂。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 8/8
第二周 1306/1306 1/2 20/28
第三周 1291/2597 1/3 18/46
第四周 4361/6958 2/3 20/66

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:10小时
  • 实际学习时间:8小时
  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

原文地址:https://www.cnblogs.com/mrf1209/p/9751107.html

时间: 2024-10-04 19:05:27

20172327 2018-2019-1 《程序设计与数据结构》第四周学习总结的相关文章

2019面向对象程序设计(java)课程学习进度条

2019面向对象程序设计(java)课程学习进度条 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 1 20/10 1/0 5 九九乘法表 2 200/40 2/4 8 第三章实验三,实验四: 第三章案例LotteryOdds.java                                                                                                  

《2019面向对象程序设计(Java)课程学习进度条》

周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/5 1/0 3 编译九九乘法表 第二周 100/10 2/0 4 第3章实验题四 第三周         第四周         第五周         第六周         第钱周         第八周         第九周         第十周         第十一周         第十二周         第十三周         第十四周    

201521123116 《java程序设计》第十四周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. ①关系型数据库的定义:使用表(table)来存储数据:使用行(row)区分不同- 记录,每行代表一条记录:每一行由若干列(column,字段)组成. ②在JDBC中释放资源时,按照ResultSet.Statement.Connection的顺序依次关闭. ③JDBC编程一般步骤 1.与数据库建立连接(Connection) 2.向数据库发送SQL语句(statement) 3.获得和处理查询或更新语句返回的

2014025635(09)《嵌入式程序设计》第三,四周学习总结

1.第三四周学习情况 本周学习进度不慢,上课也能跟着老师敲代码了,老师说一些指令也知道是什么意思了,这两周我认为非常重要的快捷键就是tab键,补全代码,我自己手敲肯定出现很多错误,必须Tab键!!!!!!!!!!!!!!! 2.1实验楼学习内容 2.1.1安装arm-linux-gcc交叉编译工具 先复制链接到剪切板上,保存关闭剪切板 输入wget命令,然后再复制粘贴,就可以将交叉编译工具下载到实验楼环境 2.1.2.解压缩交叉编译工具源码 解压缩后生成的目录是gcc-3.4.6-glibc-2

201671010130 2016-2017-2 《Java程序设计》第十四周学习小结

模型(model):用于存储数据的对象. 视图(view):为模型提供数据显示的对象. 控制器(controller):处理用户的交互操作,对于用户的操作作出响应,让模型和视图进行必要的交互,即通过视图修改.获取模型中的数据:当模型中的数据变化时,让视图更新显示. 在网格布局对象的构造器中,需要指定行数和列数:panel.setLayout(new GridLayout(x,y)); 消息对话框的创建 javax.swing包中的JOptionPane类的静态方法: public static

201671010119 2016-2017-2《Java程序设计》第十四周学习心得

本周老师对第十一章事件处理进行了重点讲解 ,讲解之前老师先在PPT上放了几道题目,对我们自己学习十一章进行了一个随堂测验.通过这次随堂测验,我觉得我看书还是不够仔细,有些该注意的细节没有注意到.通过测验,我知道了属于容器的组件有JPanel:paintComponent方法有一个Graphics类型的参数:在类中若要处理ActionEvent事件,则该类需要实现的接口是:ActionListener:容器通过方法setLayout()设置某种布局.在课后我也找到了这些知识点,结合举例,使我对这些

201621123014《Java程序设计》第十四周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 答:将原来存放在文件中的数据存放到数据库中:从借书方面来看,要建立学生表students和书表books. 2.2 系统中使用到了JDBC中什么关键类? 答:使用了JDBC的DriverManager.Connection.Statement.ResultSet等类. 2.3 截图数据库相关模块的关键

20172327 2017-2018-2 《程序设计与数据结构》实验2报告

20172327 2017-2018-2 <程序设计与数据结构>实验2报告 课程:<程序设计与数据结构> 班级: 1723 姓名:马瑞蕃 学号:20172312 实验教师:王志强 实验日期:2018年4月18日 必修/选修: 必修 1.实验内容 1.初步掌握单元测试和TDD2.理解并掌握面向对象三要素:封装.继承.多态3.初步掌握UML建模4.熟悉S.O.L.I.D原则5.了解设计模式6.完成蓝墨云上(1)-(5)实验. 2.实验题目 题目1. 我们要在一个MyUtil类中解决一个

20172327 2017-2018-2 《程序设计与数据结构》实验3报告

20172308 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 马瑞蕃 学号:20172327 实验教师:王志强 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 敏捷开发与XP实践-1:安装alibaba 插件,解决代码中的规范问题.使用工具(Code->Reformate Code)把代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能 敏捷开发与XP实践-2:下载搭档实

20172327 2017-2018-2 《程序设计与数据结构》实验4报告

20172308 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 马瑞蕃 学号:20172327 实验教师:王志强 实验日期:2018年5月30日~2018年6月3日 必修/选修: 必修 1.实验内容 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblo