我想使用遞歸將元素從src(數組1)複製到tgt(數組2)。 Len是一個整數值,它決定了應該傳送多少個元素。例如,如果len是4,我從Array 1中取出4個元素,並將它們傳送到Array 2.如何使用遞歸將元素從數組一中複製到數組二?
Start是數組src的起始位置,並將此值傳送到數組tgt的位置start2。然後我遞歸複製剩下的len-1元素。返回超出限制的例外。
public void arraycopy(double[] src, int start, double[] tgt, int start2, int len){
if(len < 1) return;
if(len > src.length) return;
tgt[start2] = src[start];
arraycopy(src, start + 1, tgt, start2 + 1, len);
}
你可以擴大「無所事事」嗎? –
除了成爲最低效率的方法之一之外,您是否考慮過開始位置大於複製長度的情況?考慮一個100元素數組,從元素50開始複製10個元素將導致方法「無所事事」,因爲'start'已經大於或等於'len'開頭。 – initramfs
@BCronyn你想從SO中獲得什麼?功能(遞歸函數)或全面證明方法(驗證和東西).. – ha9u63ar