20172320 2018-2019-1 《Java程序设计》第3周学习总结
教材学习内容总结
1.队列元素是按先进先出(FIFO)的方式处理。比较FIFO和LIFO:在栈中,其处理过程只在栈的某一端进行;而在队列中,其处理过程可在队列的两端进行
2队列的操作
操作 | 说明 |
---|---|
enqueue | 向队列末端添加一个元素 |
dequeue | 从队列前端删除一个元素 |
first | 考察队列前端的那个元素 |
isEmpty | 判定队列是否为空 |
size | 判定队列中的元素数目 |
toString | 返回队列中的字符串表示 |
.enqueue,dequeue和first等操作对应于栈的push,pop和peek。Queue并没有实现传统的.enqueue,dequeue和first操作
3。队列的使用:代码秘钥,售票口模拟
4.队列与栈的主要差别在于,必须要操作链表的两端
5.enqueue和dequeue操作作用于队列的对立端
6.非环形数组实现元素移位,将产生O(n)的复杂度
7.把数组看作是环形,可以除去在队列的数组实现中把元素位移的需要
8.双端队列是队列的扩展,他允许从队列的两端添加、删除和查看元素
教材中遇到的问题和解决过程‘
- 问题1:书上代码报错
- 解决方案:因为API中就没有enqueue这个方法,应该先把列的代码写出来,再替换成对应的代码
前面的
LinkedList<>(Customer)
应改为LinkedList<Integer>(Customer)
代码调试中的问题和解决过程
- 问题1:PP52显示异常
- 解决方案:一开始以为是toString出了问题,稍作修改还是这样,后来看到提示说”The queue is empty“才意识到可能是enqueue操作出了问题,对照书上检查一下发现少敲了一段
托管代码
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- 结对学习内容
学习教材第5章
?运行教材上的所有代码
?完成书本PP5.1、PP5.2、PP5.7
?完成课后自测题,并参考答案学习
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/4 | 20/20 | |
第二周 | 328/328 | 1/5 | 20/40 |
参考资料
原文地址:https://www.cnblogs.com/garolwz/p/9704111.html
时间: 2024-10-12 11:59:27