تصف هذه المقالة طريقة تنفيذ الصفيف لقوائم قوائم حلقة ثنائية الاتجاه لهياكل بيانات Java والخوارزميات. شاركه للرجوع إليه ، على النحو التالي:
تجدر الإشارة إلى أنني لم أختبر هذه الخوارزمية. فكرة الخوارزمية الواردة هنا تعادل الكود الزائفة ، بحيث لا يمكن استخدامها إلا كمرجع!
مصدر الحزمة ؛ فئة عامة deque {private int maxSize ؛ اليسار int الخاص ؛ int int الحق NITEMS الخاصة ؛ خاص طويل [] mydequ ؛ // constructor public deque (int maxSize) {this.maxSize = maxSize ؛ this.mydequ = جديد طويل [this.maxSize] ؛ this.nitems = 0 ؛ this.left = this.maxSize ؛ this.right = -1 ؛ }. this.mydequ [-this.left] = n ؛ this.nitems ++ ؛ } // إدراج رقم في الجانب الأيمن public void inserTright (long n) {if (this.right == this.maxSize -1) this.right = -1 ؛ this.mydequ [++ this.right] = n ؛ this.nitems ++ ؛ } // remove from removeleft removeleft () {long temp = this.mydequ [this.left ++] ؛ if (this.left == this.maxSize) this.left = 0 ؛ this.nitems-- ؛ عودة درجة الحرارة. }. if (this.left ==-1) this.left = this.maxSize-1 ؛ this.nitems-- ؛ عودة درجة الحرارة. }. } // حجم الإرجاع من حجم int العام deque () {return this.nitems ؛ }}ملاحظة: قوائم قوائم حلقة ثنائية الاتجاه ذات فائدة كبيرة. يمكن استخدامها كطوال قوائم عادية أو كودادة!
لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص" Tips Java ".
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.