20162323周楠 实验报告一

20162323周楠 2017-2018-1 《程序设计与数据结构》实验报告一

目录预览

实验一 线性结构-1


ArrayList和LinkedList测试:

实验结果



用帮助文档检索 Arraylist Linkedlist ,写3个测试类即可
运行结果如下:


实验一 线性结构-2

*** ### 分别用Java的ArrayList和LinkedList实现有序线性表的合并: ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001102637684-506565036.png)

实验结果


实验一 线性结构-3

*** ### 用数组实现线性表List: ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001102830715-1897821424.png) #### 实验结果 ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001102944059-1353968708.png)

实验一 线性结构-4

*** ### 用链表实现线性表List ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001103114684-1209434277.png) #### 实验结果 ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001103703700-383222241.png)

实验一 线性结构-5

*** ### 源码分析 ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001103840262-300837442.png) #### 实验结果

参考资料一:Java Collections API源码分析

参考资料二

ArrayList的定义:

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
可见,ArrayList支持泛型,它继承自AbstractList,实现了List、RandomAccess、Cloneable、java.io.Serializable接口。

isEmpty()

直接返回size是否等于0。

clear()

public void clear() {
                                                                                                                           myCount++;

                                                                                                                              for (int i = 0; i < size; i++)
    
                                                                                                                                   Data[i] = null;

                                                                                                                               size = 0;
                                                                                                                                    }

clear的时候并没有修改Data的长度,只是将所有元素置为null,size设置为0。

参考资料三

这周的学习让我觉得,多看一些比较不错的代码,会对Java能力有很大的帮助,代码思维能的得到不错的提升,互联网资源如此丰富的现在,我应该花更多时间静下心来学习。


课堂学习

*** ![](http://images2017.cnblogs.com/blog/1062821/201710/1062821-20171001110313669-767548803.png)


代码托管

*** [代码托管](https://git.oschina.net/GiggleZN)

总结

*** ### 学习总结 娄老师在上周的博客中点评“如果你预习了就不会觉得上课快了。”,我反思了一下自己的学习方法,在课下,我通常是对已经学习过的知识再反复的看,老师通常会提前发布下一节的课件,我一般都是大概的看一下,之后打算改正学习方法,花更多时间在预习上,提高上课的效率。

PSP(Personal Software Process)时间

步骤 耗时 百分比
需求分析 40min 6%
代码实现 500min 75.8%
测试 90min 13.6%
总结 30min 4.6%

posted on 2017-10-01 23:24  GiggleKV  阅读(174)  评论(3编辑  收藏  举报

导航