发表于: 2017-03-17 20:37:39

1 1375


今天:

学了链表,然后呢,用链表去写出链栈和链队,其实吧,队列和栈的区别无非是一个是先进先出,一个是先进后出,只要知道

这,实现起来不是很难。

关于昨天说的Native,好像它的建表和添加数据都可以直接操作,不用写代码,的确是方便了不少。

最后,今天敲了一个迭代器的代码,就重点说一下,原因是我脑子差点转不过来。

第一个:Link类按我的理解,就是结点。

第二个:头结点,这个first很关键,删除结点的时候有大用处。

第三:重点来啦, ListIterator类就是迭代器了,current的指向和first的指向除了刚开始那个节点是同一的外,当再次插入元素的时候就不是指向同一个了。

这里插入元素的方式分为previous的前或者后插入,无论哪种插入的方法都要先判断当前链表是否为空,否则后果严重。

其实挺烦的,弄current和previous最大的用处就是为了那两个插入方式。但是在删除结点的时候,这两东西得分情况判断,有点折腾人,一不小心就是空指针异常。

明天:学习一下递归。

问题:在删除结点的时候,current和previous该怎么处理。当current指向最后面的结点后,将previous抛掉不要了,也就是让它为null,然后让current指向first,接下来的结点就靠current和first来做。


返回列表 返回列表
评论

    分享到