• 0

العمليات على عناصر مصفوفة في جافا

كيف أقوم بتدوير عناصر مصفوفة نحوي اليسار
مثال:

Original Array: [20, 30, 40] 
Rotated Array: [30, 40, 20]

تمّ تعديل بواسطة Wael Aljamal
توضيح السؤال
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 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;

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن