صف په صفر زګ فیشن کې بدل کړئ


مشکل کچه په اسانۍ سره
په مکرر ډول دننه پوښتل کیږي Accenture ترلاسه کړئ Amazon څلورکیټونه Teradata زوم
پیشه

ستونزه بیان

ستونزه "زاګ - زګ فیشن ته سرسي بدل کړئ" په ګوته کوي چې تاسو ته ورکړل شوي - د عدد شمیره. د ستونزې بیان غوښتنه کوي چې په صفر زګ ډوله ب sortه تنظیم کړي داسې چې په صف کې عناصر به ورته ښکاري à  a <b> c <d> ای <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 ضمیمه. زموږ دنده دا ده چې صف په زګزاګ ډول تنظیم کړئ. موږ داسې شرایط وړاندې کړي چې حتی د عنصر عنصرونه باید د دې دوه نږدې عنصرو څخه لوی وي ، په یو ډولa <b> c <d> ای <f '. موږ دلته لیدلی شو چې b او d د دې دوه نږدې عنصرونو څخه لوی دي ، 'a' او 'c' د دې دوه نږدې عنصرونو څخه لږ دي. زموږ دنده دا ده چې ورته ورکړل شوي صفونه تنظیم کړئ. د دې لپاره ، موږ د ارزښتونو تغیر کوو ، پداسې حال کې چې د صف څخه راښکته کیږو ، لکه چې په زګزاګ ډول ترتیب شوي.

موږ به یو په نښه کړو بولین ریښتیا ته یې ارزښت ورکړئ ، بیا به موږ د لوپ تعقیب پیل کړو ، او وګورو چې ایا بیرغ ریښتیا دی ، که نه. که دا ریښتیا وي ، نو موږ به اوسنی ارزښت وګورو که چیرې اوسنی ارزښت د هغې راتلونکي ارزښت څخه لوړ وي. بیا موږ به دا ارزښتونه بدل کړو. او د بولین ارزښتونه غلط ته نښه کړئ. موږ باید د دې ارزښت بیرته راوړو ، که دا ریښتیا وي ، نو دا باطل ته تازه کړئ ، که دا غلط وي ، ریښتیا ته یې تازه کړئ. نو د هر بدیل تعقیب سره ، د هر تکرار لپاره به د بیرغ مختلف ارزښتونه وي. نو پدې سره ، یوازې یوه برخه اجرا کیدونکې ده ، که چیرې برخه وي یا بله برخه.

ورته شی موږ به د بلې برخې سره ترسره کړو ، ترڅو ارزښتونه بدل کړو. که چیرې په ټریول کې د سرنی اوسنی ارزښت د راتلونکي ارزښت څخه لږ وي. او د تراوسمال وروسته ، موږ باید یوازې هغه صف چاپ کړو چې موږ پکې تازه معلومات لرو.

صف په صفر زګ فیشن کې بدل کړئ

 

کوډ

C ++ کوډ د صف په زګ - فیشن فیشن کې اړول

#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]

د پیچلتیا تحلیل

د وخت پیچلتیا

اې (N) هلته "n" په صف کې د عناصرو شمیر دی. له هغه ځایه چې موږ یوازې په صف کې د عناصرو څخه تېر شو. د وخت پیچلتیا لیکي ده.

د ځای پیچلتیا

O (1) ځکه چې اضافي ځای ته اړتیا نشته. څنګه چې موږ کوم اضافي ځای نه دی کارولی ، نو د ځای پیچلتیا مستقل ده.