java--无头单向非循环链表
程序员文章站
2024-03-22 14:17:52
...
首先创建接口
public interface ILinked {
//头插法
void addFirst(int data);
//尾插法
void addLast(int data);
//任意位置插入,第一个数据节点为0号下标
boolean addIndex(int index,int data);
//关键字查找是否包含key是否在单链表当中
boolean contains(int key);
//删除第一次出现关键字为key的节点3.3 链表面试题
int remove(int key);
//删除所有值为key的节点
void removeAllKey(int key);
//得到单链表的长度
int getLength();
void display();
void clear();
}
然后具体实现
public interface ILinked {
//头插法
void addFirst(int data);
//尾插法
void addLast(int data);
//任意位置插入,第一个数据节点为0号下标
boolean addIndex(int index,int data);
//关键字查找是否包含key是否在单链表当中
boolean contains(int key);
//删除第一次出现关键字为key的节点3.3 链表面试题
int remove(int key);
//删除所有值为key的节点
void removeAllKey(int key);
//得到单链表的长度
int getLength();
void display();
void clear();
}
测试类
public class Test2 {
public static void main(String[] args) throws InterruptedException {
MySingleList mySingleList = new MySingleList();
/*mySingleList.addFirst(10);
mySingleList.addFirst(20);
mySingleList.addFirst(30);
mySingleList.addFirst(40);
mySingleList.addFirst(50);
mySingleList.display();*/
/* mySingleList.addLast(10);
mySingleList.addFirst(88);
mySingleList.addLast(20);
mySingleList.addLast(30);
mySingleList.addFirst(99);
mySingleList.addLast(40);
mySingleList.display();*/
mySingleList.addIndex(0,10);
mySingleList.addIndex(1,99);
mySingleList.addIndex(2,20);
mySingleList.addIndex(3,30);
mySingleList.addIndex(4,88);
mySingleList.addLast(40);
mySingleList.addIndex(6,88);
mySingleList.display();//10 99 20 30 88 40 98
MySingleList.Node res = mySingleList.reverseList();
mySingleList.show(res);
/*mySingleList.show(mySingleList.reverseList());*/
/* System.out.println(mySingleList.contains(20));
System.out.println(mySingleList.contains(21));*/
/* mySingleList.remove(10);
mySingleList.display();//99 20 30 88 40 98*/
/* mySingleList.removeAllKey(88);
mySingleList.display();
*/
/*mySingleList.clear();*/
/* Thread.sleep(1000);
System.out.println("Hello bit");*/
/* mySingleList.addFirst(10);
mySingleList.addFirst(20);
mySingleList.addFirst(30);
mySingleList.addFirst(40);
System.out.println(mySingleList.getLength());*/
/*mySingleList.addLast(10);
mySingleList.addLast(20);
mySingleList.addLast(30);
System.out.println(mySingleList.contains(20));
*/
/* mySingleList.addFirst(10);
mySingleList.addFirst(20);
mySingleList.addFirst(30);
mySingleList.addFirst(40);
mySingleList.addFirst(50);
mySingleList.clear();
mySingleList.display();*/
}
}