Java创建二维链表(数据结构)
因此,使用单链接的方法,我试图创建一个二维链表(矩阵)。矩阵将采用指定尺寸(ex 3x4矩阵)构建。下面是我的代码Java创建二维链表(数据结构),java,data-structures,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;
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);
}
}
class-MLink{
公共MLink nextCol;
公共MLink nextRow;
公共长期数据;
//----------------------------------
MLink(长数据){
这个数据=数据;
nextCol=null;
nextRow=null;
}
//----------------------------------
public-void-displayLink(){
系统输出打印(“{”+数据+“}”);
}
//----------------------------------
}//末级MList
阶级工人{
私人MLink优先;
私有多链路电流;
私有int行;
私人公司;
//----------------------------------
MLinkList(整数行,整数列){
this.rows=行;
this.cols=cols;
MLink newLink=新MLink(0);
第一个=新链接;
电流=第一;
对于(int i=0;i您需要两个当前值,即当前行和当前列中的当前单元格
要单独移动列,您需要执行currentCell=currentCell.nextCol;
如果您事先知道矩阵的大小,为什么要使用链表结构?我想只是为了练习。这是本书中的一个问题。我很确定数组会更合适。谢谢您的回答。我在采用sol方面取得了一些进展答案。但我似乎在制作5个单元格(当我放置2x2时),而不是4个。你能指出我弄乱的部分吗?MLink currentCol;for(int I=0;I