我是靠谱客的博主 幸福背包,最近开发中收集的这篇文章主要介绍java链表实现三维数组_java – 多维四向链表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

好的..所以我决定尝试使用

Java中的链表,而不是通常用于引用指针的C语言.

遍历可以是中心节点的向上,向下,向左,向右.对于角落中的节点,它们只移动两个方向,边缘上的节点可以移动3个方向.所有其他方向可以移动4个.

问题:

当我的程序离开构造函数时,我的节点以某种方式被删除:S当我使用get / set时,它不能遍历链接,因为它们是null.除了第一个节点.

我的节点是:

package linkedlist;

public class Node {

public Node Up, Down, Left, Right;

public int Value;

public Node() {

Value = -1;

Up = Down = Left = Right = null;

}

}

我做的实现如下:

package linkedlist;

public class Matrix {

private int Width, Height;

private Node Reference;

public Matrix(int Width, int Height) {

Reference = new Node();

this.Width = Width; this.Height = Height;

Node RowIterator = Reference, ColumnIterator = Reference;

for (int I = 0; I < Height; ++I) {

for (int J = 0; J < Width; ++J) {

if (I == 0) {

if (J < Width - 1) {

RowIterator.Right = new Node();

RowIterator.Right.Left = RowIterator;

RowIterator = RowIterator.Right;

}

}

else {

if (I < Height - 1) {

ColumnIterator.Down = new Node();

}

RowIterator = ColumnIterator;

RowIterator.Right = new Node();

RowIterator.Up = ColumnIterator;

RowIterator.Up.Down = RowIterator;

RowIterator.Right.Left = RowIterator;

RowIterator.Right.Up = RowIterator.Up.Right;

RowIterator = RowIterator.Right;

ColumnIterator = ColumnIterator.Down;

}

}

}

}

public void SetValue(int I, int J, int Value) {

//Same as get except it sets rather than returns..

}

public int GetValue(int I, int J) {

RowIterator = ColumnIterator = Reference;

for (int K = 0; K < J; ++K) {

for (int L = 0; L < I; ++L) {

RowIterator = RowIterator.Right;

}

ColumnIterator = ColumnIterator.Down;

RowIterator = ColumnIterator;

}

return RowIterator.Value;

}

}

主要像:

package linkedlist;

public class LinkedList {

public static void main(String[] args) {

Matrix M = new Matrix(6, 6);

M.SetValue(3, 3, 10);

}

}

因此,当我尝试将值设置在矩阵的中间附近时,它会抛出一个空指针错误.如果我尝试在构造函数中设置它,它工作得很好..因此我的节点必须以某种方式得到垃圾清理..

最后

以上就是幸福背包为你收集整理的java链表实现三维数组_java – 多维四向链表的全部内容,希望文章能够帮你解决java链表实现三维数组_java – 多维四向链表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部