LinkedList
来源:互联网 发布:圣马可吉他怎么样知乎 编辑:程序博客网 时间:2024/05/17 21:54
LinkedList
easy to expend, such as insert or delete
each element is a separate object : Node
disadvantage: need more memory to store reference to next node( extra 4 bytes on 32-bit CPU)
Two type:
1 singly linked list
2 double linked list
ps : circular linked list : last node points back to first node( head)
Clone: If we simply use the clone() method from the Object class, we will get the following structure called a "shallow" copy:
linkedlist 实现 可以参照此处代码
其中内部类实现iterator,比较有意思!
注意iterator通常需要实现三个函数
- AnyType next() - returns the next element in the container
- boolean hasNext() - checks if there is a next element
- void remove() - (optional operation).removes the element returned by next()
/******************************************************* * The Iterator class ********************************************************/ public Iterator<AnyType> iterator() { return new LinkedListIterator(); } private class LinkedListIterator implements Iterator<AnyType> { private Node<AnyType> nextNode; public LinkedListIterator() { nextNode = head; } public boolean hasNext() { return nextNode != null; } public AnyType next() { if (!hasNext()) throw new NoSuchElementException(); AnyType res = nextNode.data; nextNode = nextNode.next; return res; } public void remove() { throw new UnsupportedOperationException(); } }
0 0
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- LinkedList
- 偏底层(深入)的一些概念整理
- PC用Kinect玩水果忍者核心代码
- __asm__ __volatile__
- Foundation -- OC集合 --NSDictionary
- CF 526C Om Nom and Candies
- LinkedList
- UVA1599 Ideal Path
- 桶排序
- Foundation -- OC集合 --NSNumber
- Foundation -- OC集合 --NSDate
- 计数排序 --非比较排序
- jQuery源码学习(版本1.11)-构造函数
- Foundation -- OC集合 --NSValue
- Numerical Integration