


En C++, traduisez ce qui suit en chinois : Recherchez l'élément le plus petit suivant
Sep 20, 2023 pm 04:29 PML'élément plus petit suivant est l'élément du premier élément plus petit après lui. Regardons un exemple.
arr = [1, 2, 3, 5, 4] L'élément le plus petit suivant de
5 est 4, l'élément le plus petit suivant des éléments 1 et 2 est, 3 est -1 car il n'y a pas d'élément plus petit derrière ces éléments .
Algorithme
-
Initialiser le tableau avec des nombres aléatoires
Initialiser la pile.
Ajoutez le premier élément à la pile.
-
Parcourez les éléments d'un tableau.
Si la pile est vide, ajoutez l'élément actuel à la pile.
-
Lorsque l'élément actuel est plus petit que l'élément supérieur de la pile.
Imprimez l'élément supérieur et faites de l'élément le plus petit suivant l'élément actuel. p>
Élément supérieur pop-up.
-
Ajoutez des éléments à la pile.
-
Quand la pile n'est pas vide.
Imprimez l'élément du prochain élément plus petit sous la forme -1.
Implementation
Ci-dessous se trouve l'implémentation C++ de l'algorithme ci-dessus
#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; }
Output
Si vous exécutez le code ci-dessus, vous obtiendrez le résultat suivant.
1 -> 2 2 -> 3 3 -> 4 4 -> 5 5 -> -1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Utilisation de la structure typedef en langage C

La différence entre strcpy et strcat en langage C

Comment implémenter la fonction power en langage C

Que faire s'il y a une erreur dans scanf en langage C

Comment utiliser restrict en langage C
