++C - C برنامه نویسی

آموزش تصویری برنامه نویسی ++C و C – تابع QSort و لیست های پیوندی

آموزش تصويری برنامه نويسی ++C و C - تابع QSort و ليست های پيوندی
آموزش تصويری برنامه نويسی ++C و C - تابع QSort و ليست های پيوندی

آموزش تصویری برنامه نویسی ++C و C – تابع QSort و لیست های پیوندی

قسمت اول این فیلم آموزشی در مورد تابع QSort  و همچنین قسمت دوم این فیلم آموزشی در مورد لیست های پیوندی‌(Linked List) می باشد.

قبل از معرفی تابع Qsort می خواهیم ابتدا روش مرتب سازی Quicksort را در موردش توضیح دهیم تا شما بتوانید تابع QSort  را راحت تر درک کنید.

روش مرتب‌سازی سریع (Quick Sort) :

یکی از الگوریتم‌های مشهور مرتب‌سازی داده‌ها است. این الگوریتم طی مراحل بازگشتی زیر یک روش تقسیم و غلبه برای مرتب کردن داده‌ها ارائه می‌نماید:

۱- انتخاب عنصر محوری: یکی از عناصر آرایه به عنوان عنصر محوری (pivot) – به عنوان مثال عنصر اول – انتخاب می‌شود.

۲- تقسیم آرایه: چینش عناصر آرایه به قسمی تغییر داده می‌شود که تمامی عناصر کوچکتر یا مساوی محور در سمت چپ آن، و تمامی عناصر بزرگتر در سمت راست آن قرار بگیرند. این دو قسمت زیر آرایه‌های چپ و راست نامیده می‌شوند.

۳- مرتب‌سازی بازگشتی: زیرآرایه‌های چپ و راست به روش مرتب‌سازی سریع مرتب می‌شوند.

تابع QSort:

 یک تابع استاندارد در زبان برنامه نویسی C می باشد که با استفاده از الگوریتم Quicksort شروع به مرتب سازی لیست ها و آرایه های می کند.

نحوه استفاده از این تابع به صورت زیر می باشد.

قسمت دوم این فیلم آموزشی مربوط به لیست پیوندی (Linked List) می باشد.

لیست پیوندی:

فهرست پیوندی یا لیست پیوندی (Linked list) ساختاری شامل دنباله‌ای از عناصر است که هر عنصر دارای اشاره‌گری به عنصر بعدی در دنباله است. فهرست پیوندی از جملهٔ ساده‌ترین و رایج‌ترین داده‌ساختارها است و در پیاده‌سازی از داده‌ساختارها پشته (Stack)، صف (Queue) و جدول درهم‌سازی (Hash table) استفاده می‌شود. مزیت مهم فهرست پیوندی نسبت به آرایه‌ها این است که ترتیب قرار گرفتن داده‌ها در آن با ترتیب قرار گرفتن آن‌ها در حافظه متفاوت است. به همین دلیل فهرست پیوندی دارای این ویژگی است که درج و حذف گره‌ها در هر نقطه‌ای از فهرست، با تعداد ثابتی از عملیات امکان‌پذیر است. از طرف دیگر فهرست پیوندی اجازه دستیابی تصادفی به داده یا هرگونه اندیس گذاری را نمی‌دهد. در نتیجه بسیاری از اعمال ابتدایی نظیر به دست آوردن آخرین عنصر فهرست، پیدا کردن عنصر شامل داده مورد نظر، یا مشخص کردن مکان درج یک عنصر جدید ممکن است نیازمند بررسی اکثر عناصر فهرست باشد.

نمونه کد در مورد لیست پیوندی

 

با تشکر فراوان از استاد  “کیارش بازرگان ”

دانلود این فیلم آموزشی

پیروزباشید، طراح باشی


پیروز باشید!
طراح باشی

پربازدیدها