Practice #2
Leçon 10 sur 13 du cours Pile - Série sur les structures de données n°1 de Coddy.
Les prochains défis sont conçus pour utiliser une pile .
La structure de données Stack est déjà fournie pour vous — utilisez-la !
Défi
FacileÉcrivez une fonction nse qui reçoit un tableau d'entiers et renvoie un tableau contenant le plus proche élément plus petit de chaque élément (à sa gauche). S'il n'y a pas d'élément plus petit à gauche d'un élément, renvoyez -1.
Utilisez la classe Stack fournie pour résoudre ce problème !
Exemple :
Entrée : [4, 5, 2, 10, 8]
Sortie attendue : [-1, 4, -1, 2, 2]
Essayez vous-même
#include <stdio.h>
#include <stdlib.h>
#include "nse.h"
int main() {
int* a = (int*)malloc(sizeof(int) * 1000);
int aSize = 0;
int x;
while (scanf("%d", &x) == 1) {
a[aSize++] = x;
}
int returnSize;
int* result = nse(a, aSize, &returnSize);
for (int i = 0; i < returnSize; i++) {
printf("%d\n", result[i]);
}
free(a);
return 0;
}