2023-11-04|閱讀時間 ‧ 約 4 分鐘

学习日记[18]

    raw-image

    下面是相关代码;

    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];
    }
    }
    }
    }

    这是不昨天和前天的内容,今天的内容我将会在网上更新。

    还有就是我不能发疯了,脑子飘得太远,手就跟不上了,反正我是要出去的,说再多又有什么用呢?

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.