第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何編寫一個函數(shù)返回 Java 中索引處的三維數(shù)組的深層副本?

我如何編寫一個函數(shù)返回 Java 中索引處的三維數(shù)組的深層副本?

交互式愛情 2022-11-30 16:17:50
在這個任務(wù)中,你必須實現(xiàn)一個簡單的旅游規(guī)劃系統(tǒng)??捎寐眯械臄?shù)據(jù)是靜態(tài)給出的,每個旅行都有多個路點。單個航路點由 x 值和 y 值組成。我必須編寫 2 個函數(shù): int getCountOfTours- 返回可用游覽的數(shù)量 int[][] createDeepCopyOfTour - 返回索引 idx 處的游覽的深層副本第一個功能我做了,但是我不明白第二個功能createDeepCopyOfTour我想弄清楚第二個函數(shù)是如何工作的。請幫我。非常感謝你!這是我的代碼:private static final int[][][] TOUR = new int[][][]{        {{0, 0}, {4, 0}, {4, 3}, {0, 3}},         {{0, 0}, {3, 0}, {3, 4}, {0, 0}},         {{1, 3}, {3, 2}, {0, 4}, {2, 2}, {3, 1}, {1, 4}, {2, 3}},         {{-2, -1}, {-2, +3}, {4, 3}, {0, 0}}     };public static int[][] createDeepCopyOfTour(int idx) {        throw new UnsupportedOperationException("Not supported yet.");//I dont understand about this function.    }   
查看完整描述

1 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗 獲得超4個贊

簡而言之,深拷貝就是分配一個新的內(nèi)存區(qū)域來存儲您要復(fù)制的任何內(nèi)容的副本。在深度復(fù)制數(shù)組的情況下,您將創(chuàng)建一個新數(shù)組并使用 for 循環(huán)將值從原始數(shù)組復(fù)制到新數(shù)組中。我可以收集到的 createDeepCopyOfTour 函數(shù)的目的是創(chuàng)建一個新數(shù)組,其中包含靜態(tài) TOUR 數(shù)組中指定索引的游覽航點。


不幸的是,它并不像下面這樣簡單:


private static final int[][][] TOUR = new int[][][]{

    {{0, 0}, {4, 0}, {4, 3}, {0, 3}}, 

    {{0, 0}, {3, 0}, {3, 4}, {0, 0}}, 

    {{1, 3}, {3, 2}, {0, 4}, {2, 2}, {3, 1}, {1, 4}, {2, 3}}, 

    {{-2, -1}, {-2, +3}, {4, 3}, {0, 0}} 

};



public static int[][] createDeepCopyOfTour(int idx) {

    return TOUR[idx];

}

以上將創(chuàng)建一個淺表副本,并且只會返回對原始數(shù)組的引用。要創(chuàng)建深拷貝,您需要使用 new 關(guān)鍵字創(chuàng)建一個新數(shù)組,該關(guān)鍵字將為您想要復(fù)制的任何內(nèi)容分配新內(nèi)存,然后使用 for 循環(huán)將值復(fù)制到新數(shù)組中。幸運(yùn)的是,這很簡單,因為我們知道每個航路點坐標(biāo)只有兩個軸,所以您只需要一個 for 循環(huán)來復(fù)制值。


private static final int[][][] TOUR = new int[][][]{

    {{0, 0}, {4, 0}, {4, 3}, {0, 3}}, 

    {{0, 0}, {3, 0}, {3, 4}, {0, 0}}, 

    {{1, 3}, {3, 2}, {0, 4}, {2, 2}, {3, 1}, {1, 4}, {2, 3}}, 

    {{-2, -1}, {-2, +3}, {4, 3}, {0, 0}} 

};



public static int[][] createDeepCopyOfTour(int idx) {

    int tour[][] = new int[TOUR[idx].length][2];

    for (int i = 0; i < TOUR[idx].length; i++)

    {

        tour[i][0] = TOUR[idx][i][0];

        tour[i][1] = TOUR[idx][i][1];

    }


    return tour;

}


查看完整回答
反對 回復(fù) 2022-11-30
  • 1 回答
  • 0 關(guān)注
  • 79 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號