اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

الكود التالي يقوم بعمل rotation للمصفوفة (array):

class Main {    
 public static void main(String[] args) {    
        //Initialize array     
        int [] arr = new int [] {20, 30, 40};     
        //n determine the number of times an array should be rotated.    
        int n = arr.length -1 ;    
           
        //Displays original array    
        System.out.println("Original array: ");    
        for (int i = 0; i < arr.length; i++) {     
            System.out.print(arr[i] + " ");     
        }      
            
        //Rotate the given array by n times toward right    
        for(int i = 0; i < n; i++){    
            int j, last;    
            //Stores the last element of array    
            last = arr[arr.length-1];    
            
            for(j = arr.length-1; j > 0; j--){    
                //Shift element of array by one    
                arr[j] = arr[j-1];    
            }    
            //Last element of array will be added to the start of array.    
            arr[0] = last;    
        }    
        
        System.out.println();    
            
        //Displays resulting array after rotation    
        System.out.println("Rotated Array: ");    
        for(int i = 0; i< arr.length; i++){    
            System.out.print(arr[i] + " ");    
        }    
    }    
}    

 

  • 0
نشر

العملية الأساسية هي تخزين كل عنصر في الخانة التي قبلها، مع الاحتفاظ بالعنصر الأول ثم تخزينه في آخر خانة.:

int temp = arrOriginal[0];

for (int i=1; i<arrOriginal.length; i++){    // نبدأ الحلقة من العنصر الأول
        ^^^^^^
  
	arrRotated[i-1] = arrOriginal[i];    تخزين العنصر الحالي في العنصر السابق
     ^^^^^^^^^^^^^  
}

// بعد الانتهاء من نقل العناصر نقوم بتخزين العنصر الأول في آخر خانة

arrRotated [ arrOriginal.length - 1 ] = temp;

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...