用JAVA实现数据结构之单链表

时间:2022-09-15 10:33:30

//: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啦!