Wir erhalten ein sortiertes Array. Wir müssen dieses Array in der größten und kleinsten Form anordnen, das heißt, das erste Element ist das größte Element, das zweite Element ist das kleinste Element, das dritte Element ist das zweitgrößte Element und das vierte Element ist das zweitkleinste Element . Und so weiter wie –
Input : arr[ ] = { 10, 20, 30, 40, 50, 60 } Output : { 60, 10, 50, 20, 40, 30 } Explanation : array is rearranged in the form { 1st max, 1st min, 2nd max, 2nd min, 3rd max, 3rd min } Input : arr [ ] = { 15, 17, 19, 23, 36, 67, 69 } Output : { 69, 15, 67, 17, 36, 19, 23 }
Es gibt eine Möglichkeit, ein Array in Maximal- und Minimalform neu anzuordnen –
Es gibt eine Möglichkeit, ein Array in Maximal- und Minimalform neu anzuordnen –
Verwenden Sie zwei Variablen, min und max, die hier auf das größte und das kleinste Element verweisen und ein neues leeres Array derselben Größe erstellen, um das neu angeordnete Array zu speichern. Nun iterieren Sie über das Array und wenn das iterierte Element einen geraden Index hat, fügen Sie arr[max]-Elemente zum leeren Array hinzu und dekrementieren max um 1. Wenn sich das Element an einem ungeraden Index befindet, fügen Sie arr[min]-Elemente zum leeren Array hinzu und erhöhen Sie min um 1. Tun Sie dies, bis max kleiner als min ist.
#include <bits/stdc++.h> using namespace std; int main () { int arr[] = { 1, 2, 3, 4, 5, 6 }; int n = sizeof (arr) / sizeof (arr[0]); // creating a new array to store the rearranged array. int final[n]; // pointing variables to initial and final element index. int min = 0, max = n - 1; int count = 0; // iterating over the array until max is less than or equals to max. for (int i = 0; min <= max; i++) { // if count is even then store max index element if (count % 2 == 0) { final[i] = arr[max]; max--; } // store min index element else { final[i] = arr[min]; min++; } count++; } // printing the final rearranged array. for (int i = 0; i < n; i++) cout << final[ i ] << " "; return 0; }
6 1 5 2 4 3
In diesem Artikel haben wir die Lösung besprochen, das gegebene Array in die Max-Min-Form umzuordnen. Wir diskutieren Lösungsansätze und lösen diese mit einer optimistischen Lösung mit Zeitkomplexität O(n). Auch hierfür haben wir ein C++-Programm geschrieben. Ebenso können wir dieses Programm in jeder anderen Sprache wie C, Java, Python usw. schreiben. Wir hoffen, dass dieser Artikel für Sie hilfreich war.
Das obige ist der detaillierte Inhalt vonOrdnen Sie das Array mit C++ in die Max-Min-Form um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!