زگ-زگ فيشن ۾ صف کي تبديل ڪريو


تڪليف جي سطح آسان
بار بار پڇڻ ۾ Accenture Amazon چار چار ٽراداتا Xome
ڪيريو

مسئلي جو بيان

مسئلو ”زگ-زگ فيشن ۾ صف کي تبديل ڪريو“ ٻڌائي ٿو ته توهان کي هڪ ڏني وئي آهي - انٽيگرن جو مسئلو بيان ڪيو ويو آهي ته صف کي زغ-زگ انداز ۾ ترتيب ڏيو جئين ته صف ۾ موجود عناصر à نظر ايندا  a <b> c <d> e <f.

مثال

arr[] = {2,4,5,1,7,6,8}
[2, 5, 1, 7, 4, 8, 6]

وضاحت

5 1 ۽ 2 (ٻنهي جي ڀرپاسي وارا عنصر) ٻنهي کان وڌيڪ وڏو آهي ، 7 ان جي ڀرپاسي وارن ٻنهي عنصر کان وڌيڪ وڏو آهي ، اهڙي طرح 8 آهي.

الورورٿم

1. Mark flag is equal to true.
2. Traverse the array from 0 to n-2, where n is the length of the array.
  1. Check if the flag is true
    1. Check if the current element is greater than the next element.
      1. Swap those values.
    2. Else, check if the current element is greater than the next element,
      1. Check if the current element is lesser than the next element.
        1. Swap those values.
3. Flip the value of the flag.

وضاحت

اسان هڪ ڏني آهي صف of جيتريون. اسان جو ڪم صف کي ريگ ريگ ۾ تبديل ڪرڻ آهي. اسان هڪ شرط ڏني آهي ته اڃا انگ جا عنصر ان جي ٻن ويجهن عنصرن کان وڌيڪ هئڻ گهرجن.اي <b> سي <d> اي <ف '. اسان هتي ڏسي سگهون ٿا ته بي ۽ ڊي هن جي ٻن ڀرندڙ عنصرن کان وڏا آهن ، ’اي‘ ۽ ’سي‘ ان جا ٻن ويجهن عنصر کان گهٽ آهن. اسان جو ڪم هن طرح ڏنل ٻڪرين جو بندوبست ڪرڻ آهي. انهي لاءِ ، اسان قدرن کي بدلائڻ وارا آهيون ، قطارن کي چُرائڻ دوران ، اها ترتيب آهي جيڪا زگزي طريقي سان ترتيب ڏني وئي آهي.

اسان هڪ هڪ ظاهر ڪيو ويندو ٻيلو سچو ته ، پوءِ اسان وڃي چُپڻ شروع ڪيو وڃون ، ۽ چيڪ ڪيو ته پرچم صحيح آهي ، يا نه. جيڪڏهن اهو صحيح آهي ، ته پوءِ اسان موجوده قدر لاءِ چيڪ ڪنداسين ته جيڪڏهن موجوده ويليو پنهنجي ايندڙ قيمت کان وڌيڪ هجي. پوءِ اسان انهن اقدار کي مٽائڻ وارا آهيون. ۽ بولين جي قدرن کي ڪوڙ ڪريو نشان لڳائڻ. اسان کي صرف ان جي قيمت واپس ڪرائڻي آهي ، جيڪڏهن اهو سچ آهي ، ته پوءِ ان کي غلط تي اپڊيٽ ڪريو ، جيڪڏهن اها غلط آهي ، ان کي درست جي تازه ڪاري ڪريو. تنهنڪري هر متبادل سفري سان گڏ ، هر ورهاerationي لاءِ اتي مختلف پرچم جا قدر هوندا. سو انهي سان ، صرف هڪ حصو پھاند ٿي وڃي رهيو آهي ، يا ته ٻيو حصو يا ٻيو حصو.

ساڳئي شيءَ اسان ٻئي حصي سان ڪئي ويندي ، اقدار کي مٽائڻ لاءِ. جيڪڏهن هڪ ڪنزروال ۾ صف جو موجوده قدر ايندڙ ويليو کان گهٽ آهي. ۽ ٽرانسورس کان پوءِ ، اسان کي فقط آرٽ ڇپائڻي آهي جنهن ۾ اسان تازيون ڪيون آهن.

زگ-زگ فيشن ۾ صف کي تبديل ڪريو

 

ڪوڊ

سي ++ ڪوڊ زگ-زگ فيشن ۾ صف کي بدلائڻ لاءِ

#include <iostream>

using namespace std;

void sortZigZag(int arr[], int n)
{
    bool flag = true;

    for (int i=0; i<=n-2; i++)
    {
        if (flag)
        {
            if (arr[i] > arr[i+1])
                swap(arr[i], arr[i+1]);
        }
        else
        {
            if (arr[i] < arr[i+1])
                swap(arr[i], arr[i+1]);
        }
        flag = !flag;
    }
}
int main()
{
    int arr[] = {2,4,5,1,7,6,8};
    int n = sizeof(arr)/sizeof(arr[0]);
    sortZigZag(arr, n);
    for (int i=0; i<n; i++)
        cout << arr[i] << " ";
    return 0;
}
2 5 1 7 4 8 6

جاوا ڪوڊ زگ-زگ فيشن ۾ صف کي بدلائڻ لاءِ

import java.util.Arrays;

class zigzagArray
{
    public static void sortZigZag(int arr[])
    {
        boolean flag = true;

        int temp =0;

        for (int i=0; i<=arr.length-2; i++)
        {
            if (flag)
            {
                if (arr[i] > arr[i+1])
                {
                    temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }

            }
            else
            {
                if (arr[i] < arr[i+1])
                {
                    temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            }
            if(flag==true)
                flag=false;
            else
                flag=true;
        }
    }
    public static void main(String[] args)
    {
        int arr[] = {2,4,5,1,7,6,8};
        sortZigZag(arr);
        System.out.println(Arrays.toString(arr));
    }
}
[2, 5, 1, 7, 4, 8, 6]

پيچيدگي تجزيي

وقت جي پيچيدگي

اي (ن) جتي “ن” صف ۾ موجود عنصرن جو تعداد آهي. جئين ته اسان صف ۾ صرف عناصر مٿان چڙهائي ڪئي آهي. وقت جي پيچيدگي لڪيل آهي.

خلائي پيچيدگي

اي (1) جيئن وڌيڪ جڳھ جي ضرورت ناھي. اسان کان جيستائين اضافي جاءِ استعمال نه ڪئي آهي ، جڳهه جي پيچيدگي مستقل آهي.