数据结构|数据结构之单链表的实现(Java版本)

package linkList; import java.util.Iterator; public class LinkList implements Iterable { //记录头节点 private Node head; //记录链表的长度 private int N; //节点类 private class Node{ //存储数据 T item; //下一个节点 Node next; public Node(T item,Node next){ this.item=item; this.next=next; } } public LinkList(){ //初始化头节点 this.head=new Node(null,null); //初始化元素个数 this.N=0; } //清空链表 public void clear(){ head.next=null; this.N=0; } //获取链表长度 public int length(){ return N; } //判断链表是否为空 public boolean isEmpty(){ return N==0; } //获取指定位置处的元素 public T get(int i){ //通过循环,从头节点开始往后找,依次找i次就可以找到对应元素 Node n=head.next; //第一个元素的位置 //遍历i次 for(int index=0; index iterator() { // TODO Auto-generated method stub return new LIterator(); } private class LIterator implements Iterator{ /* * (non-Javadoc) * @see java.util.Iterator#hasNext() * 实现链表遍历 */ private Node n; publicLIterator() { // TODO Auto-generated constructor stub this.n=head; }@Override public boolean hasNext() { // TODO Auto-generated method stubreturn n.next!=null; }@Override public Object next() { // TODO Auto-generated method stub n=n.next; return n.item; } } }

    推荐阅读