Java创建二维链表(数据结构)

时间:2016-03-01 12:13:17

标签: java data-structures

所以使用单链接方法,我正在尝试创建一个二维链表(矩阵)。矩阵将使用指定的维度构建(ex 3x4矩阵)。以下是我的代码。

class MLink{
public MLink nextCol;
public MLink nextRow;
public long data;
//----------------------------------
MLink(long data){
    this.data = data;
    nextCol = null;
    nextRow = null;
}
//----------------------------------
public void displayLink(){
    System.out.print("{"+data+"} ");
}
//----------------------------------
}// end class MList

class MLinkList{
private MLink first;
private MLink current;
private int rows;
private int cols;
//----------------------------------
MLinkList(int rows, int cols){
    this.rows = rows;
    this.cols = cols;
    MLink newLink = new MLink(0);
    first = newLink;
    current = first;
    for(int i=0;i<rows;i++){
        current.nextRow = new MLink(0);
        for(int j=0;j<cols;j++){
            current.nextCol = new MLink(0);
        }
    }
}
//----------------------------------
public boolean isEmpty(){
    return (first==null);
}
//----------------------------------




}//end class MLinkList
public class MatrixListApp {

public static void main(String[] args) {
    MLinkList q = new MLinkList(3,4);

}

}

我不得不承认我没有取得多大进展,因为我在MLinkList构造函数中初始化矩阵时遇到了困难。我想做的是我想用MLinks填充矩阵0,然后从那里开始工作。我假设我必须沿矩阵移动当前以填充矩阵,但我该怎么办呢?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您需要两个当前值,即当前列中的当前行和当前单元格。

要单独移动您要执行的列currentCell = curretnCell.nextCol;