تصف هذه المقالة خوارزمية الفرز السريعة التي تنفذها Java استنادًا إلى طريقة التقسيم والغوز. شاركه للرجوع إليه ، على النحو التالي:
حزمة cn.nwsuaf.quick ؛/*** قم بإنشاء 20 رقمًا بشكل عشوائي وفرزها بسرعة** @Author liu yonglang**/class public Quick {/*** function function to Exchange Organive for struckam in refray j* parray acrase the succord of the succed for the succort the succort the succed for the succort the succor swap (int [] array ، int i ، int j) {int temp = array [i] ؛ صفيف [i] = صفيف [j] ؛ صفيف [j] = temp ؛ } / *** Division and Conquer Division Gelgorithm** param array* Array المراد تشغيله* param low* عنوان البدء للوحدة في القسم* param height* عنوان نهاية الوحدة في القسم* return موقع الموقع المرجعي* / static int Quick (] int ، int heigh) {press prite plum as ender element end int in pivot = int pivot = int. // المسح الضوئي من اليمين إلى اليسار للعثور على العنصر الأول أصغر من المحور بينما (منخفض <الارتفاع) {بينما (low <height && array [height]> = pivot) height-- ؛ // يشير إلى أنه تم العثور على عنصر أصغر من المحور إذا (منخفض <الارتفاع) // بعد المبادلة ، ينفذ منخفضة التشغيل +1 مبادلة (صفيف ، منخفض ++ ، الارتفاع) ؛ // الفحص من اليسار إلى اليمين للعثور على العنصر الأول أكبر من المحور بينما (منخفض <height && array [low] <= pivot) low ++ ؛ // يشير إلى أنه تم العثور على عنصر أكبر من المحور إذا (منخفض <الارتفاع) // بعد المبادلة ، ينفذ -1 تبديل التشغيل (صفيف ، منخفض ، الارتفاع-) ؛ } // العودة إلى الموضع النهائي لارتفاع عودة العنصر المرجعي ؛ } / ** * نوع سريع من صفيف * * param صفيف * يتم تشغيله * param low * low * param height * high * / public static void sort (int [] int low ، int height) {// سجل الموضع المقابل لعنصر المرجع المقسم int temp ؛ // الفرز فقط إذا (منخفض <الارتفاع) {// قسّم Temp = Quick (Array ، Low ، leight) ؛ // فرز بشكل متكرر لفرز الفاصل الأيسر (صفيف ، منخفض ، مؤقت - 1) ؛ // فرز بشكل متكرر لفرز الفاصل الزمني الأيمن (صفيف ، درجة حرارة + 1 ، الارتفاع) ؛ }} public static void main (string [] args) {int [] array = new int [20] ؛ System.out.println ("Wulin.com نتيجة اختبار:") ؛ System.out.print ("قبل الفرز تسلسل:") ؛ لـ (int i = 0 ؛ i <array.length ؛ i ++) {// قم بإنشاء 20 أعدادًا عشوائية من صفيف 0-99 [i] = (int) (Math.Random () * 100) ؛ System.out.print (Array [i] + "") ؛ } system.out.print ("/nsorted sequence:") ؛ الفرز (صفيف ، 0 ، array.length - 1) ؛ لـ (int i = 0 ؛ i <array.length ؛ i ++) system.out.print (Array [i]+"") ؛ }}نتائج التشغيل:
ملاحظة: فيما يلي أداة عرض للرجوع إليها:
عرض توضيحي للرسوم المتحركة عبر الإنترنت أدخل/حدد/فقاعة/دمج/هيل/أداة عملية خوارزمية الفرز السريع:
http://tools.vevb.com/aideddesign/paixu_ys
لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص" Tips Java ".
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.