واحدة من أكثر العمليات شيوعا عند العمل مع المصفوفات هي تحويل العناصر. في بعض الحالات ، قد يكون هذا ضروريا لحل مهام معينة. إن تحويل عناصر الصفيف بمقدار 1 إلى اليمين يعني أن العنصر الأخير يصبح الأول ، ويتم تحويل جميع العناصر الأخرى إلى موضع واحد إلى اليمين.
هناك عدة طرق لتنفيذ هذه العملية. في هذه المقالة ، سنلقي نظرة على 5 طرق بسيطة لتحويل عناصر الصفيف 1 إلى اليمين. كل من هذه الطرق لها خصائصها الخاصة ومناسبة لحالات معينة.
الطريقة الأولى هي استخدام مصفوفة إضافية.
لتنفيذ هذه الطريقة ، يتم أولا إنشاء مصفوفة جديدة بنفس طول المصفوفة الأصلية. بعد ذلك ، يتم نسخ كل عنصر من عناصر المصفوفة الأصلية إلى مصفوفة جديدة مع زيادة الفهرس بمقدار 1. بعد ذلك ، يتم نسخ العنصر الأول من المصفوفة الأصلية إلى العنصر الأخير من المصفوفة الجديدة.
- تحويل عناصر المصفوفة إلى اليمين: 5 طرق بسيطة
- الطريقة 1: استخدام متغير مؤقت
- الطريقة 2: استخدام أساليب الصفيف المضمنة
- الطريقة 3: استخدام الحلقة
- الطريقة 4: استخدام طريقة الشريحة
- الطريقة 5: استخدام عملية شور
- سؤال وجواب
- كيف يمكنني نقل عناصر الصفيف إلى اليمين بواسطة 1?
- كيف يمكنني نقل عناصر الصفيف إلى اليمين بواسطة 1 دون استخدام متغيرات إضافية?
- كيف يمكنني نقل عناصر الصفيف إلى اليمين بواسطة 1 باستخدام مصفوفة جديدة?
- هل هناك وظائف مدمجة في لغة البرمجة لتحويل عناصر الصفيف إلى اليمين بواسطة 1?
- كيف يمكنني نقل مجموعة حلقة إلى اليمين من قبل 1?
تحويل عناصر المصفوفة إلى اليمين: 5 طرق بسيطة
في بعض الأحيان ، عند العمل مع المصفوفات ، يصبح من الضروري تحويل جميع عناصرها إلى موضع واحد إلى اليمين. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند تنفيذ خوارزميات الفرز أو عند العمل مع المخازن المؤقتة الدائرية. في هذه المقالة ، سنلقي نظرة على 5 طرق بسيطة تسمح لك بتحويل عناصر المصفوفة إلى اليمين دون استخدام مكتبات أو وظائف إضافية.
- باستخدام أساليب شريحة() و كونكات() :
- باستخدام طريقة لصق ():
تسمح لك طريقة لصق () بتغيير محتويات صفيف أو حذف أو استبدال العناصر. يمكن استخدامه أيضا لتحويل عناصر المصفوفة إلى اليمين. للقيام بذلك ، يكفي حذف العنصر الأخير باستخدام طريقة لصق () ، ثم إضافته إلى بداية المصفوفة باستخدام طريقة لصق () مع الوسيطتين 0 و 0.
دعونا آر = [1, 2, 3, 4, 5];
- دع آخرعنصر = آر.لصق (-1);
آر.لصق (0 ، 0 ، الماضيعنصر);
باستخدام مشغل التمديد:
باستخدام عامل الانتشار ، يمكنك نقل عناصر المصفوفة إلى اليمين بسطر واحد فقط من التعليمات البرمجية. يسمح لك مشغل التوسيع بتوسيع ودمج صفيفتين أو أكثر. في هذه الحالة ، يتم ترتيب العناصر وفقا لترتيب تسلسلها في المصفوفات الأولية.
تسمح لك كل طريقة من هذه الطرق بتحويل عناصر المصفوفة إلى اليمين دون استخدام مكتبات أو وظائف إضافية. يعتمد اختيار طريقة معينة على الأداء المطلوب وسهولة قراءة الكود.
الطريقة 1: استخدام متغير مؤقت
- يمكن وصف عملية تحويل عناصر الصفيف 1 إلى اليمين باستخدام متغير مؤقت على النحو التالي:
- باستخدام حلقة ، انتقل من خلال جميع عناصر المصفوفة من الأخير إلى الأول.
- ضع قيمة متغير مؤقت في العنصر الأول من المصفوفة.
نموذج شفرة جافا سكريبت:
تحويل الدالة (صفيف) {
فار درجة الحرارة = صفيف [صفيف.الطول-1] ؛ / / حفظ العنصر الأخير من المصفوفة
إلى عن على (فار ط = صفيف.الطول-1 ؛ أنا > 0; {//نذهب من خلال جميع عناصر المصفوفة ، بدءا من آخر واحد
صفيف [أنا] = صفيف [أنا-1] ؛ / / استبدال العنصر الحالي بقيمة السابق
واحد }
وسوف تحول العناصر إلى اليمين ، وسوف تبدو مجموعة مثل
[5, 1, 2, 3, 4]
.
الطريقة 2: باستخدام أساليب الصفيف المضمنة
الطريقة الثانية لتحويل عناصر الصفيف 1 إلى اليمين هي استخدام طرق الصفيف المدمجة. توفر جافا سكريبت العديد من الطرق التي تجعل من السهل إجراء العمليات على المصفوفات.
هنا وصف موجز لهذه الأساليب:
البوب()
: يزيل العنصر الأخير من المصفوفة ويعيد قيمته.
أونشيفت(البند 1, البند 2,...، إيتمكس)
: يضيف عنصرا واحدا أو أكثر إلى بداية المصفوفة ويغير طولها.
تحول()
: يزيل العنصر الأول من المصفوفة ويعيد قيمته.
باستخدام هذه الطرق ، يمكنك بسهولة نقل عناصر الصفيف 1 إلى اليمين. إليك كيفية القيام بذلك:
"`
دع مياراي = [1, 2, 3, 4, 5];
دع بوبيدليمنت = مياراي.البوب();
(مايراي).أونشيفت (بوبيدليمنت);
«`
في هذا الرمز ، يتم حذف العنصر الأخير من المصفوفة أولا باستخدام
طريقة البوب ()
. ثم يتم إضافة هذا العنصر إلى بداية المصفوفة باستخدام الطريقة
أونشيفت()
. وبالتالي ، يتم تحويل جميع العناصر 1 إلى اليمين ، ويصبح العنصر الأخير هو الأول.
هذا النهج يجعل من السهل لتحويل عناصر مجموعة 1 إلى اليمين باستخدام طريقتين فقط. ومع ذلك ، تجدر الإشارة إلى أن هذه الطرق تعدل المصفوفة الأصلية ، لذلك إذا لم تكن مناسبة لمهمة محددة ، فيجب استخدام طرق أخرى.
فار آخرعنصر = آر [آر.الطول-1 ] ;
إلى عن على (فار ط = آر.الطول-1 ؛ أنا > 0 ؛ أنا {) {
أر [أنا] = أر [أنا-1];
}
أر [0] = الأخيرةعنصر;
عودة آر;
}
مجموعة فار= [1, 2, 3, 4, 5];
وحدة التحكم.سجل (تحولعناصرحق (صفيف)) ؛ / / الإخراج: [5, 1, 2, 3, 4]
في هذا المثال ، تتمثل الخطوة الأولى في حفظ العنصر الأخير من المصفوفة إلى متغير لاست ليمنت. ثم تبدأ الحلقة من العنصر الأخير وتتجاوز كل عنصر باستثناء العنصر الأول الذي يساوي العنصر السابق. أخيرا ، يتم تعيين العنصر الأول من المصفوفة على الماضيعنصر.
على الرغم من أن هذه الطريقة تتطلب المزيد من التعليمات البرمجية ، إلا أنها أيضا واحدة من أسهل الطرق لتحويل العناصر 1 إلى اليمين في صفيف.
الطريقة 4: استخدام طريقة الشريحة
طريقة أخرى بسيطة لنقل عناصر الصفيف 1 إلى اليمين هي استخدام طريقة الشريحة. تسمح لك طريقة الشريحة بقطع جزء من المصفوفة وإرجاع مصفوفة جديدة.
لتحويل عناصر المصفوفة بمقدار 1 إلى اليمين باستخدام طريقة الشريحة ، يمكننا أولا نسخ العنصر الأخير من المصفوفة إلى متغير جديد. بعد ذلك ، باستخدام طريقة الشريحة ، سنقوم بقطع جزء من المصفوفة بدون العنصر الأخير. أخيرا ، سنقوم بدمج المصفوفة الجديدة مع العنصر الأول الذي نسخناه سابقا.
في ما يلي مثال على التعليمات البرمجية التي توضح تحويل عناصر المصفوفة 1 إلى اليمين باستخدام طريقة الشريحة:
مجموعة كونست = ['أ' ، 'ب' ، 'ج' ، 'د' ، 'ه'];
كونست لاستليمنت = صفيف [صفيف.الطول-1 ] ;
[آخر عنصر].كونكات (صفيف.شريحة (0 ، صفيف.طول-1));
في هذا المثال ، سنحصل على مصفوفة جديدة
شيفتداري
، حيث عناصر المصفوفة
الصفيف
تحول 1 إلى اليمين.
يتيح لنا استخدام طريقة الشريحة قطع أجزاء من المصفوفة ودمجها بسهولة ، مما يجعل هذه الطريقة مرنة ومريحة للغاية.
الطريقة 5: استخدام عملية شور
وهناك طريقة أخرى لتحويل عناصر صفيف موقف واحد إلى اليمين هو استخدام عملية شور. يتم تطبيق عملية شور (حصرية أو) على كل عنصر من عناصر المصفوفة ، وكذلك على العنصر الذي سيكون في الموضع الأول من المصفوفة بعد التحول. ستكون نتيجة العملية قيمة جديدة للعنصر ، والتي ستكون في الموضع الأخير من المصفوفة.
هذه الطريقة لها التنفيذ التالي:
وظيفة شيفترايت (أر) {
فار الماضي = آر [آر.الطول-1 ] ;
إلى عن على (فار ط = آر.الطول-2 ؛ أنا > = 0 ؛ أنا--) {
أر [أنا + 1] = أر [أنا] ^ أر [أنا + 1];
أر[أنا] = أر[أنا] ^ أر [أنا+1];