操做 | 说明 |
---|---|
enqueue | 向列表末端添加一个元素 |
dequeue | 从队列前端删除一个元素 |
first | 考察队列前端的那个元素 |
isEmpty | 断定队列是否为空 |
size | 断定队列中的元素数目 |
toString | 返回队列的字符串表示 |
这些命名约定并不通用于全部的集合操做。有时enqueue也被换成add或insert;dequeue也被换成remove或serve;first操做有时也称为fronthtml
双端队列是队列的扩展,它容许从队列的两端添加、删除和查看元素。前端
问题2具体解决:数组中仅仅存储数组大小-1个元素,保证rear转一圈以后不会和head相等。也就是队列满的时候。rear+1=head,中间恰好空一个元素。当rear=head的时候。必定是队列空了。
java
因此在数组中全部单元都已填充后,若要添加元素进去,就须要扩大数组了,已有数组的元素必须按照其在队列中的正确顺序复制到新的数组中去,写一个expandCapacity方法来知足。git
public void expandCapacity() { T[] larger = (T[]) (new Object[queue.length*2]); for(int scan = 0;scan <count; scan++) { larger[scan] = queue[front]; front = (front + 1) % queue.length; } front = 0; rear = count; queue = larger; }
本周没有测试,故没有此项。设计模式
本周结对内容:本周讨论了第五章的书本错误,以及对于代码Codes的理解让咱们都更加深刻理解了队列可以保持元素的顺序这个道理。而后咱们还讨论了环形数组问题,都惊叹于rear = (rear+1) % queue.length
的神奇。可以巧妙的更新rear的值。数据结构
中秋乃佳节、明月递思念。很开心的放松了三天,但愿有更好的精力去投入本学期各学科以及工做。架构
还有,想念父母和亲人必定要多打电话。温情时刻比什么都值得咱们珍惜,比什么都能让咱们认识本身的存在,比什么都能让咱们这些处在异乡的人倍感幸福。less
补充做业:在你一辈子中身体最健康、最旺盛的时候,能在大学学习和研究,是一辈子中少有的机会。请说明一下,你以及具有的专业知识、技能、能力上还差距哪些?请看这个技能调查表,从表中抽取5-7项你认为对你特别重要的技能,记下你目前的水平,和你想在课程结束后达到的水平(必须列出5项)。连接模块化
个人回答 (MY ANSWER) :
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 |
第一周 | 0/0 | 1/1 | 8/8 |
第二周 | 621/621 | 1/2 | 12/20 |
第三周 | 678/1299 | 1/3 | 10/30 |