Java da Bir diziyi döndürmek (Ara dizi kullanarak)

Posted by dogukanhan on August 18, 2017 · 1 min read

Java Dizi işlemlerinde verilen bir n elemanlı bir diziyi, sağ yöne doğru k adımca döndürmek

Basit bir şekilde, yeni bir dizi oluşturup elemanları yeni diziye kopyalayabiliriz sonrasında ise System.arrayCopy() Fonksiyonunu kullanarak orjinal diziyi değiştirebiliriz.

public void dondur(int[] numaralar, int k) {
	    if(k > numaralar.length) 
	        k=k%numaralar.length;
	 
	    int[] sonucDizisi = new int[numaralar.length];
	 
	    for(int i=0; i < k; i++){
	        sonucDizisi[i] = numaralar[numaralar.length-k+i];
	    }
	 
	    int j=0;
	    for(int i=k; i<numaralar.length; i++){
	        sonucDizisi[i] = numaralar[j];
	        j++;
	    } 
	    System.arraycopy( sonucDizisi, 0, numaralar, 0, numaralar.length );
	}

Uzay O(n) Algoritma Karmaşıklılığı O(n)

Resource : https://www.geeksforgeeks.org/reverse-an-array-in-java/