• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 3 من 3

    الموضوع: اريييد دالة الترتييب

    1. #1
      التسجيل
      16-04-2005
      المشاركات
      17
      المواضيع
      5
      شكر / اعجاب مشاركة

      Question اريييد دالة الترتييب

      السلام عليكم

      اسمحولي
      اخواني

      بس اذا ممكن
      Sort function
      سويتها للترتيب الارقام
      لكن كيف اسويها في حالة ترتيب string
      يعني الاسماء


      كود:
        public class TestSelectionSort
      {
       public static void main(String[] args) throws Exception
       {
        double[] mylist={5.0,4.4,1.9,2.9,3.4,3.5};
        System.out.println("my list befor sorting:");
      	 for(int i=0;i<mylist.length;i++)
        {
         System.out.print("::");
         System.out.print(mylist[i]);
        }
      	 selectionsort(mylist); 
      		System.out.println(" ");
        System.out.println("my list after sorting:");
        printlist(mylist);
        System.in.read();
       }
       static void printlist(double[] list)
       {
        for(int i=0;i<list.length;i++)
         System.out.print(list[i]);
        System.out.print(" ");
       }
       static void selectionsort(double[] list)
       {
        double currentmax;
        int currentmaxindex;
        for(int i=list.length-1;i>1;i--)
        {
         currentmax=list[i];
         currentmaxindex=i;
         for(int j=i-1;j>=0;j--)
         {
         if(currentmax<list[j])
         {
      	currentmax=list[j];
      	currentmaxindex=j; 
         }
        }
        if(currentmaxindex !=i)
        {
         list[currentmaxindex]=list[i];
         list[i]=currentmax;
        }
       }
        }
      }
      ؟ بليز
      ملك

    2. #2
      التسجيل
      30-12-2004
      المشاركات
      449
      المواضيع
      12
      شكر / اعجاب مشاركة

      مشاركة: اريييد دالة الترتييب

      من عيوني :-)

      حاليا خوارزمك يستخدم عملية المقارنة لترتيب الارقام, اكبر من > , اصغر من < , و يعادل =.

      كل تلك العمليات تقارن رقمين وتجيب ب"صح" اذا صحت نتيجة العملية, او ب"خطأ" اذا كانت النتيجة خاطئة. يمكننا ان نستخدم عمليات مقارنة تشابه تلك لنقارن بين نصين. نقول ان نصان متطابقان اذا كانا يحتويان على نفس الحروف وبنفس الترتيب. ونقول ان احدهم اكبر من الاخر اذا كان يسبقه ابجديا حسب ترتيب القاموس, اي ان النص "الاكبر" يحتوي على حروف "اصغر". المقانة القاموسية تقارن نصين ابتداء من اول حرف, لذا النص اكبر من نص اّخر اذا كان يسبقه ابجديا, مثلا:

      عبارة "ابجد" اكبر من عبارة "هوز", لان الالف يسبق الهاء ابجديا. وعبارة "شبيك" اكبر من عبارة "شبيك لبيك" مع ان الاولى بالفعل تعتبر جزئية من الثانية, الا ان حسب الترتيب القاموسي, الكلمة الاولى تظهر اولا.

      لاستخدام عملية المقارنة الابجدية القاموسية على نصين, استخدم دالة compareTo التي في فئة String, فهي تقارن نصين وتعيد رقما سلبيا, اي اصغر من صفر, اذا كان النص الاول يسبق الاّخر ابجديا. وتعيد رقما ايجابيا, اكثر من صفر, اذا كان الرقم الاول يتلو الثان ابجديا. و تعيد صفر اذا تطابق النصان بالحرف.

      اذا تريدين مقارنة نصان لاتينيان وبدون مراعاة للمقام, اي تريدين ان لا تفرقي A من a, فحبنها يمكنك استخدام compareToIgnoreCase, وهذه الدالة ايضا في فئة String.

      تعديل بسيط لخوارزمك, غيري كل عملية مقارنة رقمية الى String.compareTo وغيري المتغيرات المحلية في دالة selectionsort من نوع double الى String.

      للمزيد من المعلومات:

      http://www.infres.enst.fr/docs/jdk1.4.0/api/java/lang/String.html#compareTo(java.lang.String)

    3. #3
      التسجيل
      27-02-2005
      الدولة
      قلب الرياض
      المشاركات
      134
      المواضيع
      21
      شكر / اعجاب مشاركة

      مشاركة: اريييد دالة الترتييب

      اذا انتي تستخدمين متغير من نوع string فاستخدامه يكون مثل اللintعادي لانه له overloadللعمليات كلها <و>وغيرها

      لكن لو استخدمتي charفلازم تقارنين حرف حرف
      مااعرف اسوي توقيع قمت ورسمته ..... اش رايكم؟؟

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •