Heim  >  Artikel  >  Backend-Entwicklung  >  Ordnen Sie ein Array neu an, sodass jedes ungerade indizierte Element größer als sein vorheriges Element ist

Ordnen Sie ein Array neu an, sodass jedes ungerade indizierte Element größer als sein vorheriges Element ist

WBOY
WBOYnach vorne
2023-09-01 09:45:071087Durchsuche

Ordnen Sie ein Array neu an, sodass jedes ungerade indizierte Element größer als sein vorheriges Element ist

Wir haben ein Array positiver Ganzzahltypen, angenommen als arr[], mit beliebiger Größe. Die Aufgabe besteht darin, das Array so neu anzuordnen, dass alle Elemente an ungeraden Indexpositionen größere Werte haben als Elemente an geraden Indexpositionen, und das Ergebnis auszudrucken.

Werfen wir einen Blick auf verschiedene Eingabe- und Ausgabesituationen:

Eingabe − int arr[] = {2, 1, 5, 4, 3, 7, 8}

Ausgabe − Array vor dem Sortieren: 2 1 5 4 3 7 8 Ordnen Sie das Array neu an, sodass jedes ungerade indizierte Element größer als sein vorheriges Element ist: 1 4 2 5 3 8 7

Erklärung – Wir erhalten ein Array von Ganzzahlen der Größe 7. Wenn nun das Element mit geradem Index größer ist, vertauschen wir das Element mit geradem Index und das Element mit ungeradem Index

Arr[0] > arr[1] = call swap = {1, 2, 5, 4, 3, 7, 8}
Arr[2] > arr[3] = call swap = {1, 2, 4, 5, 3, 7, 8}
Arr[6] > arr[5] = call swap = {1, 2, 4, 5, 3, 8, 7}
Arr[2] > arr[1] = call swap = {1, 4, 2, 5, 3, 8, 7}

input− int arr[] = {3, 2, 6, 9}

output− Array vor dem Sortieren: 3 2 6 9 Die Neuanordnung eines Arrays, sodass jedes ungerade indizierte Element größer als das vorherige ist, lautet: 2 3 6 9

Erklärung − Wir erhalten ein ganzzahliges Array der Größe 4. Jetzt werden wir die Elemente mit geradem Index mit den Elementen austauschen bei ungeradem Index, wenn gerade indizierte Elemente größer sind, d. h. Arr[0] > arr[1] = call swap = {2, 3, 6, 9} Die Swap-Methode muss nicht weiter aufgerufen werden, da alle Elemente an den Positionen die Anforderungen erfüllen Bedingungen

Der im folgenden Programm verwendete Ansatz ist wie folgt:

  • Geben Sie ein Array von Elementen vom Typ Integer ein und berechnen Sie die Größe eines Arrays.

  • Drucken Sie das Array vor der Anordnung und rufen Sie die Funktion Rearrangement(arr, size) auf.

  • Innerhalb der Funktion Rearrangement(arr, size)

    • Erstellen Sie eine Variable vom Typ Integer, sagen wir, ptr, und setzen Sie sie mit size-1.

    • Starten Sie die Schleife FOR, von i über 0 bis i weniger als ptr und i = i + 1. Überprüfen Sie innerhalb der Schleife, ob arr[i] größer als arr[i+1] ist, und rufen Sie dann swap(arr[i], arr[i+1]) auf.

    • Überprüfen WENN Größe & 1, dann Schleife FOR von i nach ptr starten, bis i größer als 0 und i = i - 2 ist. Überprüfen Sie innerhalb der Schleife, ob arr[i] größer als arr[i - 1] ist, und rufen Sie dann swap(arr[i] auf. , arr[i-1])

  • Drucken Sie das Array nach der Neuanordnung der Werte eines Arrays

Das obige ist der detaillierte Inhalt vonOrdnen Sie ein Array neu an, sodass jedes ungerade indizierte Element größer als sein vorheriges Element ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen