Heim > Backend-Entwicklung > C++ > Übersetzen Sie in C++ Folgendes ins Chinesische: Suchen Sie das nächst kleinere Element

Übersetzen Sie in C++ Folgendes ins Chinesische: Suchen Sie das nächst kleinere Element

PHPz
Freigeben: 2023-09-20 16:29:07
nach vorne
1186 Leute haben es durchsucht

Übersetzen Sie in C++ Folgendes ins Chinesische: Suchen Sie das nächst kleinere Element

Das nächstkleinere Element ist das Element des ersten kleineren Elements danach. Schauen wir uns ein Beispiel an.

arr = [1, 2, 3, 5, 4] Das nächstkleinere Element von

5 ist 4, das nächstkleinere Element der Elemente 1 und 2 ist 3 ist -1, da sich hinter diesen Elementen kein kleineres Element befindet .

Algorithmus

  • Array mit Zufallszahlen initialisieren

  • Stapel initialisieren.

  • Fügen Sie das erste Element zum Stapel hinzu.

  • Iterieren Sie über die Elemente eines Arrays.

    • Wenn der Stapel leer ist, fügen Sie das aktuelle Element zum Stapel hinzu.

    • Wenn das aktuelle Element kleiner als das oberste Element des Stapels ist.

      • Drucken Sie das oberste Element und machen Sie das nächst kleinere Element zum aktuellen Element. p>

      • Popup-Oberelement.

    • Elemente zum Stapel hinzufügen.

  • Wenn der Stapel nicht leer ist.

    • Drucken Sie das Element des nächstkleineren Elements als -1 aus.

Implementierung

Unten finden Sie die C++-Implementierung des obigen Algorithmus

#include <bits/stdc++.h>
using namespace std;
void nextSmallerElements(int arr[], int n) {
   stack<int> s;
   s.push(arr[0]);
   for (int i = 1; i < n; i++) {
      if (s.empty()) {
         s.push(arr[i]);
         continue;
      }
      while (!s.empty() && s.top() > arr[i]) {
         cout << s.top() << " -> " << arr[i] << endl;
         s.pop();
      }
      s.push(arr[i]);
   }
   while (!s.empty()) {
      cout << s.top() << " -> " << -1 << endl;
      s.pop();
   }
}
int main() {
   int arr[] = { 5, 4, 3, 2, 1 };
   int n = 5;
   nextSmallerElements(arr, n);
   return 0;
}
Nach dem Login kopieren

Ausgabe

Wenn Sie den obigen Code ausführen, erhalten Sie die folgendes Ergebnis.

1 -> 2
2 -> 3
3 -> 4
4 -> 5
5 -> -1
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonÜbersetzen Sie in C++ Folgendes ins Chinesische: Suchen Sie das nächst kleinere Element. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage