java 什么是单向链表 和 双向链表 ?

2024-11-15 09:03:40
推荐回答(4个)
回答(1):

链表是类似一种数据结构的东西,就是分别存放有地址以及数据单项链表一般是上一个存放地址的地方存放下一个节点的地址,而双向的就是有两个存放地址的地方,分别存上一个以及下一个的地址。大概是这样子

回答(2):

public Snake() {
head = nodes;
tail = nodes;
size = 1;
}

public void AddToHead() {
Node nodes = null;

switch(head.dir) {
case L :
nodes = new Node(head.row, head.col - 1, head.dir );
break;
case U :
nodes = new Node(head.row - 1, head.col, head.dir );
break;
case R :
nodes = new Node(head.row, head.col + 1, head.dir );
break;
case D :
nodes = new Node(head.row + 1, head.col, head.dir );
}
nodes.next = head;
head.prev = nodes; // ???
head = nodes;
size ++;
}

public void drwa(Graphics g) {
if(size <=0) return;

for(Node n=head; n!=null; n = n.next) {
n.draw(g);
}
move();
}

public void move() {
AddToHead();
DleToTail();
}

public void DleToTail() { //???
if(size ==0) return;
tail = tail.prev;
tail.next = null;
}

public class Node {
int w = Yard.BOX_SIZE;
int h = Yard.BOX_SIZE;
Node next = null;

int row, col;
Dir dir;
Node prev; //???

public Node(int row, int col, Dir dir) {
this.row = row;
this.col = col;
this.dir = dir;
}
你这些的操作中都涉及到了链表。链表的操作是通过指针的移动实现的。

回答(3):

http://zhidao.baidu.com/question/122288261.html
其实我也不是很懂。。。我帮你找了一下 你看看吧

回答(4):

那种东西在java里体现的并不明显,你只需要知道其原理就可以了。