上了大学,有时感觉时时刻刻都在忙,感觉有做不完的事情,有时又怪自己没有自控力,好了,打住,不说了。来说说这篇博客的内容,前面一个多月自己发的博客少之又少,而后面的二个月又开始考试了,自己在医学院校,学的又是信息管理与信息系统,所以既要学习医学知识,又要学习计算机知识,挺难的!Java课这周结束了,准备利用Java来复习自己的数据结构,这样二者都能复习一下,每周做一题吧!
这篇博客用Java写一个链表:
package leetcode; public class LinkedListDemo { //节点的结构 内部类的形式 可以另建一个类 class Node{ int data;//节点的值 Node next;//节点的指向 public Node(int data) { this.data = data; } } public Node head; public Node current; public void add(int data){ if (head == null){ head= new Node(data);//头节点就是有值的!!!和另一种方式不一样 current = head;//将现在指向的指针指向头指针 } else { //将新的节点添加到链表的后面 current.next = new Node(data); current = current.next; } } public void print(Node node){ if (node == null){ System.out.println("链表为空!"); } else { current = node; while (current!=null){ System.out.println(current.data); current = current.next; } } } }
测试类:
package leetcode; import java.util.Scanner; public class TextLinkedListDemo { public static void main(String[] args) { LinkedListDemo linkedlist = new LinkedListDemo(); Scanner scanner = new Scanner(System.in); for (int i = 0; i < 10 ; i++) { linkedlist.add(i); } linkedlist.print(linkedlist.head); } }
这样就完成了链表的创建与遍历,我认为只要掌握这种思想很容易完成一个链表(比c语言容易太多了)
剩下来的问题就是利用链表做各种算法题,继续坚持下去吧!!!