اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطور میشه لیست پیوندی رو چاپ کرد؟

+1 امتیاز
972 نمایش

از تو خود تابع اصلی میشه دستور پرینتو داد یا باید تو کلاس ِخود لیست، همچین تابعی تعریف کرد؟
و خب چجوری؟
ممنون میشم کسی بطور کامل توضیح بده.

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده شنبه ۱۶ دی ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۹ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

این مثال رو در نظر بگیرین:

LLIST *list_add(LLIST **p, int i)
{
    if (p == NULL)           /*checks to see if the pointer points somewhere in space*/
        return NULL;

    LLIST *n = malloc(sizeof(LLIST));   /* creates a new node of the correct data size */
    if (n == NULL)
        return NULL;

    n->next = *p; /* the previous element (*p) now becomes the "next" element */
    *p = n;       /* add new empty element to the front (head) of the list */
    n->data = i;

    return *p;
}

که عناصر رو به ابتدای لیست اضافه میکنه.
و برای چاپ از تابعی استفاده میکنید که به صورت بازگشتی عناصر رو چاپ میکنه:

void list_print_reverse(LLIST *n)
{
    if (n == NULL)
    {
        printf("list is empty\n");
        return;
    }

    if (n->next != NULL)
    {
        list_print_reverse(n->next);
    }

    printf("print %p %p %d\n", n, n->next, n->data);
}
پاسخ داده شده یکشنبه ۲۹ بهمن ۱۳۹۱ توسط CPP_Crawler4