因此,我尝试使用单链接方法创建一个二维链接列表(矩阵)。矩阵将以指定的尺寸构造(例如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;