因此,我尝试使用单链接方法创建一个二维链接列表(矩阵)。矩阵将以指定的尺寸构造(例如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构造函数中的矩阵。我想做的是我想用0的MLink填充矩阵,然后从那里开始。我假设我必须沿着矩阵移动电流以填充矩阵,但是我该怎么做呢?

任何帮助表示赞赏。

最佳答案

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

要单独移动列,您可以执行currentCell = curretnCell.nextCol;

07-26 06:36