所以使用单链接方法,我正在尝试创建一个二维链表(矩阵)。矩阵将使用指定的维度构建(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,然后从那里开始工作。我假设我必须沿矩阵移动当前以填充矩阵,但我该怎么办呢?
感谢任何帮助。
答案 0 :(得分:2)
您需要两个当前值,即当前列中的当前行和当前单元格。
要单独移动您要执行的列currentCell = curretnCell.nextCol;