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

السؤال

نشر (معدل)

أردت في هذا الكود أن أقوم بعمل array ثم أقووم بترتيب عناصرها ترتيبا تصاعديا ولكن حدث خطأ 

أرجو حله


package bubble.array;

public class BubbleArray {

  public static void main(String[] args) {

    int []arr = {10,5,6,23,45,2,8};

    for (int i=0; i<arr.length; i++){
      for (int j=0; j<arr.length-1-i; j++){
        if (arr[i]> arr[i+1]){
          swap(arr,i,i+1);
        }     
      }       
    }
    System.out.println("arr is:" );
    for (int i=0; i<arr.length; i++){
      System.out.print(arr[i]+ " " );
    }
  }
  public static void swap(int arr[] , int m , int n){
    int tmb = arr[m];
    arr[m] =arr[n];
    arr[n]=tmb;
  }
}

BubbleArray.java

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال + إضافة الشيفرة البرمجية

Recommended Posts

  • 0
نشر

لديك المشكلة أن المتغير i سيكون ثابت خلال تكرار الحلقة j وهذا يعني أنه سيقوم بعمل نفس الشرط بين أول عنصرين بدل أن يتحرك المؤشر.

لذلك نعدل ضمن الشرط و swap أن j المستخدم و ليس i

for (int i=0; i<arr.length; i++){
  for (int j=0; j<arr.length-1-i; j++){
    if (arr[j]> arr[j+1]){
      swap(arr,j,j+1);
    }     
  }       
}

أرجو التجريب

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...