CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ داخل ڪرڻ جي ترتيب
John Squirrels
سطح
San Francisco

جاوا ۾ داخل ڪرڻ جي ترتيب

گروپ ۾ شايع ٿيل
صفن کي ترتيب ڏيڻ سڀ کان عام عملن مان هڪ آهي جاوا جي شروعات ڪندڙ کي ڄاڻڻ گهرجي ته ڪيئن ڪجي. جيتوڻيڪ arrays هميشه ڊيٽا کي ترتيب ڏيڻ لاء سڀ کان وڌيڪ آسان طريقو نه آهن ۽ اهو اڪثر ڪري ننڍن انگن تي لاڳو ٿئي ٿو، تصور جي ترتيب جي پويان پيچيده سافٽ ويئر ۽ ڊيٽا سائنس ۾ ڪيترن ئي ايپليڪيشنون آهن. هن پوسٽ ۾، اسان هڪ ويجهي نظر ڪنداسين ته ڇا داخل ٿيڻ جي ترتيب آهي. اسان ڪجھ مثالون ۽ مشق مسئلا شامل ڪيا آھن توھان جي مدد ڪرڻ لاءِ توھان کي ھن تصور جي مڪمل طور تي پھانسي حاصل ڪرڻ ۾.

داخل ڪرڻ جي ترتيب ڇا آهي؟

بنيادي طور تي، داخل ڪرڻ جي ترتيب هڪ الورورٿم آهي ڊولپرز استعمال ڪن ٿا ننڍن انگن جي تارن کي منظم ڪرڻ لاء. اهو سڀني قدرن کي ٻن اسٽيڪ ۾ ورهائي ٿو - هڪ ترتيب ڏنل ۽ هڪ غير ترتيب ڏنل. هڪ هڪ ڪري، ”غير ترتيب ڏنل“ اسٽيڪ ۾ انگ ڪڍيا ويندا آهن ۽ صحيح ترتيب ۾ رکيا ويندا آهن. جاوا ۾ داخل ڪرڻ جي ترتيب - 1اچو ته ان پٽ تي هڪ ويجھو نظر رکون ۽ داخلا جي ترتيب جي آئوٽ:
  • ان پٽ: هڪ صف A سان گڏ غير ترتيب ڏنل عددي عناصر: A[0,1, n, n-2...].
  • آئوٽ پُٽ: هڪ صف جنهن ۾ ساڳيا انگ هجن پر مڪمل ترتيب ڏنل هجن. هي هڪ عام طور تي حوالو ڏنو ويو آهي B: B[0]B[1]...B[n-1].
داخل ڪرڻ جي ترتيب کي استعمال ڪرڻ جا ڪجھ طريقا آھن - ھتي سڀ کان وڌيڪ مشهور آھن:
  • عددي ترتيب (وڌندڙ ترتيب): [1، 2، 3، 4، 5]
  • عددي ترتيب (گهٽجڻ واري ترتيب): [5، 4، 3، 2، 1]
  • الفابيٽ جي ترتيب: [a، b، c، d]
نوٽ: جيڪڏهن توهان وٽ خالي صف يا سنگلٽن آهي، اهي سمجهيا وڃن ٿا ترتيب سان ترتيب ڏنل.

داخل ٿيڻ جي ترتيب جي نظريي کي سمجھڻ

داخل ڪرڻ جي ترتيب جي پويان ڪوڊ کي ڳولڻ کان اڳ، اچو ته غير ٽيڪنيڪل ٻولي استعمال ڪندي الگورتھم کي ٽوڙيو. ڇاڪاڻ ته اسان کي ترتيب ڏيڻ لاءِ ڪوڊ ڏيکاريندا سين مٿي واري ترتيب ۾، اهو سمجهه ۾ اچي ٿو ته وضاحت ڪرڻ الورورٿم قدم قدم هن پوسٽ ۾. مرحلا 1. ان جي وچ ۾ arr[1]۽ arr[n]ڪٿي nعددي قدر عام طور تي 10 کان گھٽ هوندي آهي. قدم 2. ان عنصر جو مقابلو ڪريو جيڪو توهان چونڊيو آهي (جي نالي سان سڃاتو وڃي ٿو key) کي ترتيب ۾ استعمال ڪندي پوئين نمبر سان sort(). مرحلا 3. جيڪڏهن سڀئي عنصر انهن جي جانشين کان ننڍا آهن، مقابلي کي ورجايو جيستائين توهان کي وڏي قيمت نه ملي. مرحلا 4. ترتيب ڏنل ترتيب ٺاھڻ لاءِ ھڪڙي وڏي قدر ھڪڙي پوزيشن کي ننڍي ھڪڙي کان وڌيڪ تبديل ڪريو. قدم 5. عمل کي ورجايو جيستائين توھان اکرن جي ھڪڙي ترتيب واري تار حاصل ڪريو

پرائمري صفن کي ترتيب ڏيڻ

جيئن ته الورورٿم جاوا جي سڀ کان وڌيڪ سادي عملن مان هڪ آهي، جيتوڻيڪ مڪمل شروع ڪندڙن کي ان کي لاڳو ڪرڻ ۾ ڪا به تڪليف نه ٿيڻ گهرجي. هتي هڪ صف کي ترتيب ڏيڻ لاءِ قدم قدم گائيڊ آهي

1. ترتيب ڏيڻ لاءِ هڪ صف جو اعلان ڪريو

شروع ڪرڻ لاءِ، اچو ته قدرن جو هڪ اسٽرنگ ٺاهيو جيڪو بعد ۾ جاوا استعمال ڪندي ڏيکارينداسين. داخل ڪرڻ جي ترتيب کي استعمال ڪرڻ لاءِ، توھان کي ھڪ صف ٺاھڻ جي ضرورت آھي. انهي لاء، استعمال ڪريوint[]
int[] arrayA = {10, 14, 20, 30};

2. algorithm لاڳو ڪرڻ لاء sort_arr استعمال ڪريو

sort_arr طريقو ھڪڙو عام طريقو آھي جيڪو داخل ڪرڻ جي ترتيب کي لاڳو ڪرڻ لاء. عملي طور تي، اهو هن طرح نظر اچي ٿو:
for(int i=0; i< sort_arr.length; ++i){
        int j = i;

3. هڪ لوپ ٺاهيو ۽ هڪ آئٽرٽر

داخل ڪرڻ جي ترتيب واري الگورتھم ۾ لوپ استعمال ڪندي، ڊولپرز کي هر عنصر لاء منطق کي ورجائڻ جي ضرورت ناهي. جيتوڻيڪ لوپ ٺاهڻ پيچيده لڳي ٿو، اهو بلڪل سادو آهي - هتي هڪ مثال آهي:
for(int i=0; i< sort_arr.length; ++i){
ھاڻي توھان وٽ ھڪڙو ڪم ڪندڙ لوپ آھي، اھو وقت آھي ھڪڙو ٺاھيندڙ ٺاھيو جيڪو سڀني عناصر کي مطلوب ترتيب ۾ ترتيب ڏيندو. ھاڻي کان وٺي، اسين پھريندڙ کي " j" طور حوالو ڪنداسين.
int j = i;

4. ”جڏهن ته لوپ“ ٺاهڻ

جڏهن اهو داخل ڪرڻ جي ترتيب ۾ اچي ٿو، هڪ "جڏهن" لوپ هڪ نئين، ترتيب ڏنل صف لاء ضروري آهي. ان کي ترتيب ڏيڻ لاءِ ترتيب ڏيڻ لاءِ ترتيب ڏيڻ واري ترتيب واري ترتيب، هڪ ڊولپر کي ٻن شرطن تي عمل ڪرڻ جي ضرورت آهي:
  • j کي مقرر ڪيل قدر 0 کان وڌيڪ هجڻ گھرجي
  • مقرر ڪيل قدر انڊيڪس j-1کان وڌيڪ هجڻ جي ضرورت آهيj
جيترو جلد جڏهن لوپ ۾ ٻئي حالتون صحيح آهن، صف جي اهم قيمت jانڊيڪس جي برابر هوندي.

5. صف کي ترتيب ڏيڻ

توھان کان پوءِ جڏهن لوپ سيٽ اپ ڪريو، j۽ j-1ويلز تبديل ڪيا ويندا جيستائين ھڪڙي يا ٻئي حالتون جڏھن لوپ ناڪام ٿي وڃن. اهڙي طرح، ترتيب ڏيڻ کي هر قيمت لاءِ بار بار ڪيو ويندو لوپ لاءِ جيستائين لوپ جون حالتون ناڪام ٿي وڃن. ھتي آھي ڪيئن داخل ڪرڻ جي ترتيب جو عمل عملي طور تي ڪم ڪري ٿو:
int key = sort_arr[j];
          sort_arr[j] = sort_arr[j-1];
          sort_arr[j-1] = key;
          j = j-1;

هڪ ArrayList ترتيب ڏيڻ

جيتوڻيڪ داخل ڪرڻ جي ترتيب جي پويان رياضي کي سمجهڻ ضروري آهي، جڏهن اهو حقيقي زندگي جي سافٽ ويئر ڊولپمينٽ جي اچي ٿي، توهان کي ترتيب ڏيڻ وارا هوندا ArrayLists کي ترتيب ڏيڻ کان وڌيڪ بنيادي صفن ۾. هتي هڪ ArrayList ترتيب ڏيڻ لاءِ قدم قدم گائيڊ آهي:
  1. انهن شين لاءِ هڪ نئون Elementڪلاس ٺاهيو جيڪو مجموعو سان تعلق رکي ٿو.

    public class Element {
        private int id;
    
        public Element(int id) {
            this.id = id;
        }

  2. ھڪڙي مجموعن ۾، ھڪڙو طريقو آھي compareTo()- اسان ھن کي استعمال ڪنداسين ٻن عنصرن جي سڃاڻپ کي موازنہ ڪرڻ لاء.

    public int compareTo(Element element) {
            int res = 0;
            if (this.id < element.getId()) {
                res = -1;
            }
            if (this.id > element.getId()) {
                res = 1;
            }
            return res;
        }
    }

  3. الگورتھم کي لاڳو ڪريو ۽ شيون ٺاھڻ لاءِ ڪجھ لوپ ٺاھيو ArrayListانھن جي مقابلي ڪرڻ بدران.

    public static void insertionSortArrayList(List<element> list) {
        for (int j = 1; j < list.size(); j++) {
            Element current = list.get(j);
            int i = j-1;
            while ((i > -1) && ((list.get(i).compareTo(current)) == 1)) {
                list.set(i+1, list.get(i));
                i--;
            }
            list.set(i+1, current);
        }
    }

  4. توھان پڻ شامل ڪري سگھوٿا وڌيڪ عناصر ArrayList، جيئن ھيٺ ڏيکاريل آھي:

    List<element> list = new ArrayList<>();
    
    // Create elements w/ IDs 0-24
    for (int i = 0; i < 25; i++) {
        list.add(new Element(i));
    }
    
    // To use insertion sort, shuffle the values
    Collections.shuffle(list);

  5. هاڻي اهو وقت آهي ترتيب ڏيڻ جو:

    // This helps print values before sorting
    list.forEach(e -> System.out.print(e.getId() + ", "));
    
    // Sort the list
    insertionSortArrayList(list);
    
    System.out.println();
    
    // Display a sorted array
    list.forEach(e -> System.out.print(e.getId() + ", "));

  6. ھاڻي اچو ته ان پٽ ۽ آئوٽ جو مقابلو ڪريون ته جيئن اسان ڪا غلطي نه ڪئي آھي. هتي اسٽرنگ جو مقابلو آهي جيڪو اسان مثال طور استعمال ڪيو آهي.

    
    4, 2, 6, 7, 0, 5, 9, 1, 8, 3,
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

داخل ڪرڻ جي ترتيب جي مشق جا مسئلا

ھاڻي ته توھان وٽ ھن ترتيب ڏيڻ واري الگورتھم جي پھانسي آھي، اھو وقت آھي پنھنجي نظرياتي ۽ عملي صلاحيتن کي امتحان ۾ رکڻ جو. نظريو سوال نمبر 1 توهان کي هڪ صف ڏني وئي آهي [1، 4، 6، 8] ۽ ان ۾ هڪ نئون عنصر n = 7 شامل ڪري رهيا آهيو. انگن جي ترتيب ڏنل ترتيب حاصل ڪرڻ لاءِ توهان کي مقابلي جو تعداد ڇا ڪرڻو پوندو؟ صف ۾ انڊيڪس n جي آخري قدر ظاهر ڪريو. ٿيوري سوال نمبر 2 نوڪريءَ جي انٽرويو ۾، هڪ ٽيم ليڊ توهان کي اهو ثابت ڪرڻ لاءِ پڇي ٿي ته ترتيب ڏيڻ هڪ غير موثر طريقو آهي. [0, 3, 6, 8, 9] جي انگن واري اسٽرنگ کي ڏنو ويو، ترتيب ڏيڻ لاءِ گهربل وقت کي وڌائڻ لاءِ توهان جي ان پٽ جي ترتيب جو ڪهڙو حڪم هجڻ گهرجي؟ مشق مسئلو ترتيب ڏيو [0, 1, 4, 5, 2, 3, 7, 9, 8] صف کي ان جي اڀرندي ترتيب ۾ جاوا لاءِ داخل ڪرڻ جي ترتيب استعمال ڪندي.

نتيجو

داخل ڪرڻ جي ترتيب کي سمجهڻ ۾ سڀ کان وڏو چئلينج اهو سمجهڻ ۾ آهي ته اهو عمل ڪيئن ڪم ڪري ٿو. هڪ دفعو توهان کي ان جي لٺ آهي، ٽيمپليٽ کي ڪوڊ ۾ تبديل ڪرڻ ڪيڪ جو هڪ ٽڪرو آهي. جيستائين توهان مشق ڪندا آهيو ۽ وقت سان لاڳاپيل مشق مسئلن تي نظرثاني ڪندا آهيو، توهان تيزيء سان پنهنجي داخل ڪرڻ جي رفتار کي بهتر بڻائي سگهندا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION