تفاوت بین (گره == null) و (گره-> next == null) چیست؟ https://www.geeksforgeeks.org/delete-a-linked-list-node-at-a-given-position/


پاسخ 1:

فرض کنید در مورد گره ساختار داده مانند لیست پیوندی ، دسته ای ، صف و غیره صحبت می کنید.

پس از آن

if (گره-> next == NULL) {} // در c یا cpp if (node.next == null) Java} // در جاوا

این عبارت بررسی می کند که آیا گره فعلی در لیست پیوندی آخرین گره است یا خیر. یعنی برای بررسی اینکه آیا این عنصر یا گره آخرین عنصر لیست است (هنگامی که کل لیست از طریق آن اجرا می شود و آخرین گره یا آخرین عنصر پیدا می شود).

if (گره == NULL یا تهی) {}؛ // در c ، cpp-NULL و در جاوا نول

این حالت عمدتاً برای بررسی 2 مورد استفاده می شود

برای بررسی اینکه آیا لیست خالی است یا خیر و برای شمارش یا نمایش کل لیست.

// اگر head اشاره گر لیست است ، تابعی برای شمارش گره ها در یک لیست نوشته شده است. لیست int count (گره ساختار * سر) {if (head == NULL) count = 0؛ other {while (head! = NULL) {count ++؛ head = head-> ادامه؛ count تعداد بازگشت }

بنابراین ،

گره == null درست می شود ، به این معنی که گره قبلی آخرین گره بود و نشانگر شما در حال حاضر به صفر اشاره می کند

node-> next == null به این معنی است که اشاره گر شما به آخرین عنصر لیست اشاره می کند.

ممنون از خواندن