//:SingleList.java 用JAVA实现数据结构中的单链表
/**
* 构建链表对象
*
* @author stone
*
*/
class MyList {
private int data;// 链表中要存储的数据类型
private MyList next;// 用来存放指向下一个节点的指针变量
/**
* 用来分配空间,相当于c语言中的malloc函数
*
* @param i
* 分配空间的同时,为该空间赋值
*/
public MyList(int i) {
data = i;
}
/**
* 实现链表的尾部添加功能
*
* @param myList
* 需要添加到当前链表中元素
*/
public void append(MyList myList) {
MyList p = this;
while (p.next != null) {
p = p.next;
}
p.next = myList;
}
/**
* 实现链表的显示元素功能
*/
public void show() {
MyList p = this;
while (p != null) {
System.out.println(p.data);
p = p.next;
}
}
}
public class SingleList {
public static void main(String[] args) {
MyList list = new MyList(1);// 实例化一个链表
for (int i = 0; i < 5; i++) {
list.append(new MyList(i));// 想list链表的尾部循环加入新元素
}
list.show();// 显示链表中的元素
}
}
// /:~
程序中只实现了单链表的添加和显示功能,其他的功能就靠小伙伴们手动拓展咯,刚学数据结构,请勿喷。
可能有很多人疑惑?JAVA中有指针吗?JAVA为了安全,将指针的操作控制了,其实 MyList list的声明,在JAVA中叫做引用,它就是一个指针变量,如果理解到这一点,实现单链表就so easy啦!