Kotlin-programmet för sammanfogning av två matriser

I det här programmet lär du dig att sammanfoga två matriser i Kotlin med hjälp av arraycopy och utan den.

Exempel 1: Sammankoppla två matriser med hjälp av arraycopy

 import java.util.Arrays fun main(args: Array) ( val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val aLen = array1.size val bLen = array2.size val result = IntArray(aLen + bLen) System.arraycopy(array1, 0, result, 0, aLen) System.arraycopy(array2, 0, result, aLen, bLen) println(Arrays.toString(result)) )

När du kör programmet blir resultatet:

 (1, 2, 3, 4, 5, 6)

I ovanstående program har vi två heltalmatriser array1 och array2.

För att kombinera (sammanfoga) två matriser hittar vi dess längd lagrad i aLen respektive bLen. Sedan skapar vi ett nytt heltal array-resultat med längden aLen + bLen.

Nu, för att kombinera till båda, kopierar vi varje element i båda matriserna för att resultera med hjälp av arraycopy () -funktionen.

Den arraycopy(array1, 0, result, 0, aLen)funktion, enkelt uttryckt, berättar programmet för att kopiera matris1 start från index 0bero på index 0till Alen.

På samma sätt arraycopy(array2, 0, result, aLen, bLen)berättar för programmet att kopiera array2 från index 0till resultfrån index aLen till bLen.

Exempel 2: Sammankoppla två matriser utan att använda arraykopia

 import java.util.Arrays fun main(args: Array) ( val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val length = array1.size + array2.size val result = IntArray(length) var pos = 0 for (element in array1) ( result(pos) = element pos++ ) for (element in array2) ( result(pos) = element pos++ ) println(Arrays.toString(result)) )

När du kör programmet blir resultatet:

 (1, 2, 3, 4, 5, 6)

I det ovanstående programmet, istället för att använda arraycopy, kopierar vi manuellt varje element i båda matriserna array1 och array2 till resultat.

Vi lagrar den totala längden som krävs för resultat, det vill säga array1.length + array2. length. Sedan skapar vi ett nytt arrayresultat av längden.

Nu använder vi för varje slinga för att slinga igenom varje element i array1 och lagra det i resultatet. Efter att tilldela det, vi ökar positions pos med 1, pos++.

På samma sätt gör vi detsamma för array2 och lagrar varje element i resultatet från position efter array1.

Här är motsvarande Java-kod: Java-program för att sammanfoga två matriser.

Intressanta artiklar...