Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Practice #2

الدرس 10 من 13 في دورة المكدس (Stack) - سلسلة هياكل البيانات #1 على Coddy.

تم تصميم التحديات التالية لاستخدام stack فيها.

بنية البيانات Stack متوفرة لك بالفعل — استخدمها!

challenge icon

التحدي

سهل

اكتب function باسم nse تأخذ مصفوفة من نوع integer و return مصفوفة تحتوي على الأنصر الأصغر الأقرب لكل element (إلى اليسار). إذا لم يكن هناك عنصر أصغر على يسار العنصر، أرجع -1.

استخدم الـ Stack المرفق لحل هذه المشكلة!

مثال:

المدخلات (input): [4, 5, 2, 10, 8]

المخرجات المتوقعة: [-1, 4, -1, 2, 2]

جرّب بنفسك

#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;
}

جميع دروس المكدس (Stack) - سلسلة هياكل البيانات #1