概述
public class LinkList<E> {
private class node{
public E e;
public node next;
public node(E e,node next){
this.e=e;
this.next=next;
}
public node(E e){
this(e,null);
}
public node(){
this(null,null);
}
@Override
public String toString() {
return e.toString();
}
}
public LinkList(){
dummyHead = new node();
size = 0;
}
private node dummyHead;
private int size;
//向链表的index位置插入元素E
public void add(int index,E e){
if(index<0||index>size){
System.out.println(index);
throw new IllegalArgumentException("index is illeagal.");
}
node prev=dummyHead;
for(int i=0;i<index;i++){
prev=prev.next;
}
// node node=new node(e);
// if(prev.next==null)
//node=prev.next;
// node.next=prev.next;
// prev.next=node;
prev.next=new node(e,prev.next);
size++;
}
//向链表头插入元素e
public void addHead(E e){
add(0,e);
}
//向链表尾插入元素e
public void addLast(E e){
add(size,e);
}
//删除index位置的元素e
public void delete(int index){
if(index<0||index>=size){
throw new IllegalArgumentException("index is illegal.");
}
node prev=dummyHead;
for(int i=0;i<index;i++){
prev=prev.next;
}
node ret=prev.next;
prev.next=prev.next.next;
ret.next=null;
}
//查找链表中是否含有元素e
public boolean contains(E e){
node prev=dummyHead;
for(int i=0;i<size;i++){
prev=prev.next;
if(prev.e.equals(e))
return true;
}
return false;
}
}
最后
以上就是粗暴鸡为你收集整理的数据结构——链表的实现的全部内容,希望文章能够帮你解决数据结构——链表的实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复