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

مشكلة في ال java عند تطبيق خوارزمية الفرز الفقاعي bubble sort

Mahmoud Ali Nawwar

السؤال

أردت في هذا الكود أن أقوم بعمل 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...