تشارككم الأمثلة في هذه المقالة في الرمز المحدد لخوارزمية ترتيب Java وتكوينها للرجوع إليها. المحتوى المحدد كما يلي
package beanutil ؛ import java.util.arraylist ؛ import java.util.list ؛ import com.work.core.exception.ourxception ؛/** من هذا البرنامج هو فتح صفيف ، ويمثل تراكبه من 1 إلى M أرقام. قيمة عنصر المصفوفة هي 1 للإشارة إلى أن الرقم المشترك // يتم تحديد الرقم الممثل ، وإذا كان 0 ، فهو غير محدد. // تهيئة أولاً ، قم بتعيين عناصر N الأولى من الصفيف إلى 1 ، مما يشير إلى أن المجموعة الأولى هي الرقم الأول. // ثم قم بمسح مجموعة "10" من قيمة عنصر الصفيف من اليسار إلى اليمين ، والعثور على أول مجموعة "10" وحولها إلى // "01" ، وحرك كل "1" على يسارها إلى اليسار إلى الطرف الأيسر من الصفيف. // عندما ينتقل أول "1" إلى موضع MN من الصفيف ، أي عندما ينتقل جميع N "1S" إلى أقصى اليمين ، يجب عليك/ إلى المزيج الأخير. // على سبيل المثال ، ابحث عن مزيج من 3 في 5: // 1 1 1 0 0 0 // 1،2،3 // 1 1 0 1 0 // 1،2،4 // 1 0 1 1 0 // 1،3،4 // 0 1 1 1 0 // 2،3،4 // 0 1 0 1 // 1،2،5/1 0 1 // 1،3،5 // 0 ] S.Printanythree () ؛ } / ** * * / public void printanythree () {int [] num = new int [] {1،2،3،4،5،6} ؛ طباعة (الجمع (num ، 3)) ؛ } / ** * SELECT MISTERS M من N Numbers * param a * param m * @return * / list public combine (int [] a ، int m) {int n = A.Length ؛ إذا (m> n) {رمي new orexception ("خطأ! هناك فقط"+n+"عناصر في Array a."+m+"أكبر من" +2+"!!!") ؛ } قائمة النتيجة = new ArrayList () ؛ int [] bs = new int [n] ؛ لـ (int i = 0 ؛ i <n ؛ i ++) {bs [i] = 0 ؛ } // تهيئة لـ (int i = 0 ؛ i <m ؛ i ++) {bs [i] = 1 ؛ } العلم المنطقي = صحيح ؛ منطقية tempflag = false ؛ int pos = 0 ؛ int sum = 0 ؛ //أوجد أولاً مجموعة 10 ، ثم يصبح 01 ، وفي الوقت نفسه ، تحرك جميع 1s على اليسار إلى الجانب الأيسر من الصفيف do {sum = 0 ؛ POS = 0 ؛ tempflag = صحيح ؛ النتيجة. add (print (bs ، a ، m)) ؛ لـ (int i = 0 ؛ i <n-1 ؛ i ++) {if (bs [i] == 1 && bs [i+1] == 0) {bs [i] = 0 ؛ BS [i+1] = 1 ؛ pos = i ؛ استراحة؛ }} // حرك كل ما في اليسار إلى الجانب الأيسر من الصفيف لـ (int i = 0 ؛ i <pos ؛ i ++) {if (bs [i] == 1) {sum ++ ؛ }} لـ (int i = 0 ؛ i <pos ؛ i ++) {if (i <sum) {bs [i] = 1 ؛ } آخر {bs [i] = 0 ؛ }} // تحقق مما إذا كانت جميع الأجزاء 1 قد انتقلت إلى الجانب الأيمن من الصفيف لـ (int i = nm ؛ i <n ؛ i ++) {if (bs [i] == 0) {tempflag = false ؛ استراحة؛ }} if (tempflag == false) {flag = true ؛ } آخر {flag = false ؛ }} بينما (العلم) ؛ النتيجة. add (print (bs ، a ، m)) ؛ نتيجة العودة } private int [] print (int [] bs ، int [] a ، int m) {int [] result = new int [m] ؛ int pos = 0 ؛ لـ (int i = 0 ؛ i <bs.length ؛ i ++) {if (bs [i] == 1) {result [pos] = a [i] ؛ POS ++ ؛ }} نتيجة الإرجاع ؛ } private void print (list l) {for (int i = 0 ؛ i <l.size () ؛ i ++) {int [] a = int []) l.get (i) ؛ لـ (int j = 0 ؛ j <a.length ؛ j ++) {system.out.print (a [j]+"/t") ؛ } system.out.println () ؛ }}}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.