તમામ નકારાત્મક નંબર્સને શરૂઆત અને હકારાત્મક વધારાની જગ્યા સાથે સમાપ્ત કરવા માટે હકારાત્મક સ્થાનાંતરિત કરો


મુશ્કેલી સ્તર સરળ
વારંવાર પૂછવામાં આવે છે કેપજેમિની પર્યટન MAQ o9 ઉકેલો ટીસીએસ
અરે સોર્ટિંગ

ધારો કે તમારી પાસે એક એરે પૂર્ણાંકોની. તે બંને નકારાત્મક અને સકારાત્મક સંખ્યાઓનો સમાવેશ કરે છે અને સમસ્યાનું નિવેદનમાં બધા નકારાત્મક અને સકારાત્મક તત્વોને એરેની ડાબી તરફ અને એરેની જમણી બાજુએ વધારાની જગ્યાનો ઉપયોગ કર્યા વિના, શિફ્ટ / ખસેડવા કહે છે. આ બધી નકારાત્મક સંખ્યાઓને શરૂઆતમાં ખસેડવાની અને સતત વધારાની જગ્યા સાથે સમાપ્ત થવા માટે હકારાત્મક માટેનું એક નિરાકરણ હશે.

ઉદાહરણ

 ઇનપુટ:

arr[]={2,4,-10,13,-7,-60,52,8,-19 }

આઉટપુટ:

-10 -7 -60 -19 4 2 52 8 13

સમજૂતી: કેમ કે બધી સંખ્યાઓ ડાબી તરફ સ્થાનાંતરિત થઈ છે અને બધી સકારાત્મક સંખ્યા જમણી તરફ બદલાઈ ગઈ છે.

તમામ નકારાત્મક નંબર્સને શરૂઆત અને હકારાત્મક વધારાની જગ્યા સાથે સમાપ્ત કરવા માટે હકારાત્મક સ્થાનાંતરિત કરો

અલ્ગોરિધમ

  1. J ને 0 પર સેટ કરો.
  2. 0 થી n (એ રીતે, જ્યાં n એરેની લંબાઈ છે) ને એરે ટ્રversર્સ કરી રહ્યા છીએ.
    1. એરેનું કોઈપણ તત્વ 0 કરતા ઓછું છે કે કેમ તે તપાસો.
      1. તપાસો કે મારે j ની બરાબર ન હોવી જોઇએ,
        1. અનુક્રમણિકાના arr [i] અને arr [j] ના મૂલ્યો બદલો, અને j નું મૂલ્ય વધારવું.
  3. એરે છાપો.

તમામ નકારાત્મક નંબર્સને શરૂઆત અને હકારાત્મક સમાપ્તિ પર ખસેડો માટે સમજૂતી

અમને પૂર્ણાંકોની એરે આપવામાં આવે છે, અને એરેમાં સકારાત્મક અને નકારાત્મક તત્વો છે. અમે બધા નકારાત્મક તત્વોને ડાબી તરફ અને હકારાત્મક નંબરોને જમણી તરફ સ્થાનાંતરિત કરવાનું કહ્યું છે. આ માટે, અમે જઈ રહ્યા છીએ સ્વેપ બધી સંખ્યાઓ, જે સકારાત્મક અને નકારાત્મક તત્વો છે. પહેલા એરેને પસાર કરો અને પછી નકારાત્મક નંબરો માટે તપાસો, જો સંખ્યા નકારાત્મક છે તો જ આપણે કિંમતો અદલાબદલ કરવા જઈશું.

J નું મૂલ્ય 0 પર સેટ કરો, તે વૈકલ્પિક મૂલ્ય સાથે અદલાબદલ કરવા માટે વપરાય છે. આપણે એરેને શોધી કા startવાનું શરૂ કરીશું અને દરેક સંખ્યા માટે એઆર (i] 0 કરતા ઓછું છે, જો તે 0 કરતા ઓછું હોય, તો તેનો અર્થ છે કે અમને નકારાત્મક સંખ્યા મળી છે, અને તેથી અમે તપાસ કરીશું કે બંને અનુક્રમણિકા સમાન નથી, શું ઉપરની બધી પરિસ્થિતિઓ સાચી છે, પછી આપણે નંબરોને એરર [i] તરીકે સ્વેપ કરીશું અને એઆર [જે] અદલાબદલ થઈશું, અને જે ની કિંમત વધારીશું. અમે આપેલ શરત પ્રમાણે બધા સંભવિત મૂલ્યોને વટાવી અને અદલાબદલ કરી અને ફરીથી ગોઠવવામાં ન આવે ત્યાં સુધી ચાલવું ચાલુ રાખીશું.

અમે તે સ્થિતિની તપાસ કરી છે કે એરે [i] 0 કરતા ઓછું છે કારણ કે આપણે ફક્ત નકારાત્મક સંખ્યાઓ ગોઠવી રહ્યા છીએ, અદલાબદલ પછીની બધી નકારાત્મક સંખ્યાઓ એરેની ડાબી બાજુ ગોઠવાશે, અને અન્ય બધી સકારાત્મક સંખ્યાઓ આપમેળે જમણી તરફ ગોઠવાશે. એરે. અમે કરેલા બધા અદલાબદલ પછી, આપણે ફક્ત એરે છાપવાની જરૂર છે જેમાં અદલાબદલ કામગીરી કરવામાં આવી હતી.

અમલીકરણ

સી ++ પ્રોગ્રામ તમામ નકારાત્મક નંબર્સને શરૂઆત અને હકારાત્મક સમાપ્ત તરફ ખસેડો

#include<iostream>

using namespace std;

void shiftIntegers(int arr[], int n)
{
    int j = 0;
    for (int i = 0; i < n; i++)
    {
        if (arr[i] < 0)
        {
            if (i != j)
                swap(arr[i], arr[j]);
            j++;
        }
    }
    for (int i = 0; i < n; i++)
        printf("%d ", arr[i]);
}
int main()
{
    int arr[] = { 2,4,-10,13,-7,-60,52,8,-19 };
    int n = sizeof(arr) / sizeof(arr[0]);
    shiftIntegers(arr, n);

    return 0;
}
-10 -7 -60 -19 4 2 52 8 13

તમામ નકારાત્મક નંબર્સને શરૂઆતમાં ખસેડો અને હકારાત્મક સમાપ્ત કરવા માટે જાવા પ્રોગ્રામ

class rearrangeNegativePositive
{
    public static void shiftIntegers(int arr[], int n)
    {
        int j = 0, temp;
        for (int i = 0; i < n; i++)
        {
            if (arr[i] < 0)
            {
                if (i != j)
                {
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
                j++;
            }
        }
    }
    public static void printArray(int arr[], int n)
    {
        for (int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
    public static void main(String args[])
    {
        int arr[] = { 2,4,-10,13,-7,-60,52,8,-19 };
        int n = arr.length;

        shiftIntegers(arr, n);
        printArray(arr, n);
    }
}
-10 -7 -60 -19 4 2 52 8 13

તમામ નકારાત્મક નંબરોને શરૂઆત અને હકારાત્મક સમાપ્તિ પર ખસેડવા માટે જટિલતા વિશ્લેષણ

સમય જટિલતા

ઓ (એન) જ્યાં “એન” એરેમાં તત્વોની સંખ્યા છે.

અવકાશ જટિલતા

ઓ (1) કોઈ વધારાની જગ્યા જરૂરી નથી.

ઉપસંહાર

જાવા અને સી ++ માં સતત વધારાની જગ્યા સાથે સમાપ્ત થવા માટે તમામ નકારાત્મક નંબરોને હકારાત્મક અને અંતમાં ખસેડવાનો આ એક પ્રોગ્રામ છે.

સંદર્ભ