您的位置:

java中的头节点(Java节点)

本文目录一览:

什么是头指针?头指针跟头结点有什么区别和联系?

在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。头结点是为了操作的统一、方便而设立的,放在第一元素结点之前,其数据域一般无意义(当然有些情况下也可存放链表的长度、用做监视哨等等),有头结点后,对在第一元素结点前插入结点和删除第一结点,其操作与对其它结点的操作统一了。而且无论链表是否为空,头指针均不为空。首元结点也就是第一元素结点,它是头结点后边的第一个结点。

数据结构java,头插法建立单链表,h为头结点,那p是结点还是指针?是结点的话怎么p.data?

一个节点分为两个部分,一部分是自身的数据域,一部分是指向下一个节点的指针域。你想复杂了

public class Node {

public int data; //数据域

public Node next; //指针域,指向下一个节点

public Node(int data){

this.data=data;

}

}

用JAVA编写链表类,要求编写能够从头部添加节点。

public class ZLinkedList {

private int size;

private Node head;

public ZLinkedList(){

size = 0;

}

public void headInsert(Object obj){

//if(null== obj) {// do something}

Node temp = new Node(obj);

if(size ==0){

head = temp;

}else{

temp.setNext(head);

head = temp;

}

size++;

}

public void preOrder(){

int length = size;

Node temp = head;

for(int i= 0;i  length;i ++){

System.out.println(temp.getValue());

temp = temp.getNext();

}

}

private static class Node{

private Object value;

private Node next;

Node(){

}

Node(Object val){

this.value = val;

}

public Object getValue() {

return value;

}

public void setValue(Object value) {

this.value = value;

}

public Node getNext() {

return next;

}

public void setNext(Node next) {

this.next = next;

}

}

public static void main(String[] args) {

ZLinkedList test = new ZLinkedList();

test.headInsert("1");

test.headInsert("2");

test.headInsert("3");

test.preOrder();

}

}