成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java稀疏數(shù)組怎么定義和使用

這篇文章主要介紹“java稀疏數(shù)組怎么定義和使用”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“java稀疏數(shù)組怎么定義和使用”文章能幫助大家解決問題。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括龍南網(wǎng)站建設(shè)、龍南網(wǎng)站制作、龍南網(wǎng)頁制作以及龍南網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,龍南網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到龍南省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

特點(diǎn)

1、它可以壓縮數(shù)據(jù),減少內(nèi)存空間的使用。

過程

2、記錄數(shù)組元素的坐標(biāo)和值。

3、稀疏數(shù)組有3列,分別是行、列、值,行數(shù)是原數(shù)組不同值的數(shù)加1;

array[0]記錄一組行數(shù)和列數(shù),以及不同值的數(shù);

然后每行記錄一個(gè)值在原數(shù)組的行列下標(biāo)記和自己的值。

實(shí)例

public static void main(String[] args) {
    //創(chuàng)建一個(gè)原始的二維數(shù)組
    //0:沒有棋子,1:黑子,2:白子
    int chessArr1[][] = new int[11][11];
    //下面先固定二維數(shù)組的元素,后面可優(yōu)化~
    chessArr1[1][2] = 1;
    chessArr1[2][3] = 2;
    chessArr1[4][5] = 2;
    //輸出原始的二維數(shù)組:
    System.out.println("原始的二維數(shù)組:");
    printArray(chessArr1);
 
    //下面將二維數(shù)組轉(zhuǎn)化為稀疏數(shù)組
    //1.先遍歷二維數(shù)組,得到非0數(shù)據(jù)的個(gè)數(shù)
    int sum = 0;
 
    for (int i = 0; i < 11; i++) {
        for (int j = 0; j < 11; j++) {
            if (chessArr1[i][j] != 0) {
                sum++;
            }
        }
    }
 
    //2.創(chuàng)建對(duì)應(yīng)的稀疏數(shù)組
    int sparesArr[][] = new int[sum + 1][3];
    //給稀疏數(shù)組賦值
    sparesArr[0][0] = 11;
    sparesArr[0][1] = 11;
    sparesArr[0][2] = sum;
 
    //遍歷二維數(shù)組,將非0的值存放在sparesArr中
    int count = 0;//count 用于記錄是第幾個(gè)非0數(shù)據(jù)
    for (int i = 0; i < 11; i++) {
        for (int j = 0; j < 11; j++) {
            if (chessArr1[i][j] != 0) {
                count++;
                sparesArr[count][0] = i;
                sparesArr[count][1] = j;
                sparesArr[count][2] = chessArr1[i][j];
            }
        }
    }
 
    //輸出稀疏數(shù)組的形式
    System.out.println();
    System.out.println("得到的稀疏數(shù)組為:");
    printArray(sparesArr);
    System.out.println();
 
    //下面將稀疏數(shù)組恢復(fù)成二維數(shù)組
    //先讀取稀疏數(shù)組的第一行元素,根據(jù)其數(shù)據(jù),創(chuàng)建原始的二維數(shù)組
    int chessArr2[][] = new int[sparesArr[0][0]][sparesArr[0][1]];
 
 
    //讀取稀疏數(shù)組后幾行的元素(從第二行開始),并賦值給原始的二維數(shù)組即可
 
    for (int i = 1; i < sparesArr.length; i++) {
        chessArr2[sparesArr[i][0]][sparesArr[i][1]] = sparesArr[i][2];
    }
 
    //輸出恢復(fù)后的二維數(shù)組
    System.out.println();
    System.out.println("恢復(fù)后的二維數(shù)組");
    printArray(chessArr2);
}
 
//打印數(shù)組
public static void printArray(int[][] array) {
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[0].length; j++) {
            System.out.printf("%d\t", array[i][j]);
        }
        System.out.println();
    }
}

關(guān)于“java稀疏數(shù)組怎么定義和使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

網(wǎng)站欄目:java稀疏數(shù)組怎么定義和使用
分享鏈接:http://jinyejixie.com/article14/ghphde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、用戶體驗(yàn)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
克拉玛依市| 莫力| 通渭县| 永寿县| 克山县| 大冶市| 营山县| 平乐县| 武穴市| 丰原市| 平罗县| 镇坪县| 吉隆县| 南陵县| 侯马市| 广汉市| 汕头市| 方正县| 彝良县| 象山县| 台南市| 汝城县| 沿河| 肇庆市| 慈溪市| 资源县| 迁西县| 南雄市| 类乌齐县| 鄂托克旗| 栖霞市| 武汉市| 云阳县| 江安县| 江川县| 金阳县| 陆川县| 监利县| 明溪县| 伊金霍洛旗| 饶平县|