下面是相关代码;
class SparseArray
{
int[][] sparseArrayI;
int[][] sparseArray;
int sum; //这里记录有意义数的总值
//初始化二维数组
public SparseArray()
{
this.sparseArrayI = new int[11][11];
this.sum = 0;
}
//这里是从棋盘到二维数组的转化,0为正转化,即从棋盘到二维数组,1则相反。
//但是这里我还不知道如何搞清楚一个棋盘的图形化表示,所以暂时先搁置吧
/*public void checkerboardToTwoDArray(int[][] array , int i)
{
if(i == 0)
{
}
else
{
}
}*/
//这是从二维数组到稀疏数组之间的转化
public void TwoDArrayToSparseArray(int[][] array , int i)
{
//i == 0时就是正转化,从二维数组到稀疏数组,i==1时相反
if(i == 0)
{
//第一步首先确定稀疏数组中总行数
for(int j = 0 ; j <= 10 ; j++)
{
for(int k = 0 ; k <= 10 ; k++)
{
if(array[j][k] != 0)
{
sum++;
}
}
}
//第二步创建稀疏数组,并加载第一行
sparseArray = new int[this.sum + 1][3];
sparseArray[0][0] = 11;
sparseArray[0][1] = 11;
sparseArray[0][2] = this.sum;
int count = 1;
//第三步将数值加入稀疏数组
for(int j = 0 ; j <= 10 ; j++)
{
for(int k = 0 ; k <= 10 ; k++)
{
if(array[j][k] != 0)
{
sparseArray[count][0] = j;
sparseArray[count][1] = k;
sparseArray[count][2] = array[j][k];
count++;
}
}
}
}
else
{
sparseArray = array;
//创建二维数组
sparseArrayI = new int[ sparseArray[0][0] ][ sparseArray[0][1] ];
//将稀疏数组中所有值都放在二维数组中
for(int j = 1 ; j <= sparseArray[0][2] ; j++)
{
sparseArrayI[sparseArray[j][0]][sparseArray[j][1]] = sparseArray[j][2];
}
}
}
}
这是不昨天和前天的内容,今天的内容我将会在网上更新。
还有就是我不能发疯了,脑子飘得太远,手就跟不上了,反正我是要出去的,说再多又有什么用呢?