دانلود سورس پیاده سازی لیست پیوندی با آرایه به زبان سی پلاس پلاس پیادهسازی لیست پیوندی یک طرفه (Single Linked List) با آرایه: نوع دادهای (class) به نام ForwardList تعریف شده است:این نوع داده را به صورت template پیاده سازی شده است.علاوه بر سازندهی کپی، سازندهای تعریف شده است که یک ورودی (int) گرفته و لیست خالی با حداکثر اندازهی ورودی می سازد.تابع مخرب پیادهسازی شده است.تابعی به نام insert تعریف شده است که در لیست دادهای را درج می کند. این تابع دو ورودی دارد. یکی دادهی مورد نظر برای درج و دیگری اندیس (int) مکان درج داده. مقدار بازگشتی تابع، اندیس (int) مقدار درج شده در لیست است.تابعی به نام erase تعریف شده اس که دادهای را از لیست حذف می کند. این تابع یک ورودی به عنوان اندیس (int) گرفته و عنصر متناظر با آن را از لیست حذف میکند. مقدار بازگشتی تابع، اندیس (int) عنصر بعدی عنصر حذف شده است.عملگر [ ] برای این نوع داده سربارگذاری (overload) شده است. این عملگر ارجاعی به عنصر متناظر با اندیس ورودی (int) بازمیگرداند.تابعی به نام count تعریف شده است که تعداد عناصر (int) موجود در لیست را بازگرداند. نکته:تمامی توابع در برابر اندیسهای نامعتبر پیام خطا چاپ می کنند.
دانلود سورس پیاده سازی صف اولویتدار با آرایه به زبان سی پلاس پلاس یک نوع داده (class) به نام PriorityQueue تعریف شده است: این نوع داده به صورت template پیاده سازی شده است.علاوه بر سازندهی کپی برای این تابع، سازندهای تعریف شده است که ورودی آن int است و یک صف با اندازهی ورودی ایجاد می کند.تابع مخرب پیادهسازی شده است.این نوع داده، ساختمان دادهی صف اولویتدار را با استفاده از آرایه پیاده سازی میکند.تابعی به نام insert تعریف شده است. این تابع دو ورودی میگیرد. یکی دادهی مورد نظر برای اضافه شدن به صف و دیگری اولویت آن که از نوع int میباشد. تابع خروجی ندارد.تابعی به نام pull تعریف شده است. این تابع عنصر صف با بالاترین اولویت را از صف خارج کرده و بازمیگرداند.تابعی به نام peek تعریف شده است . این تابع مشابه تابع pull عمل میکند با این تفاوت که عنصری را از صف خارج نمیکند.تابعی به نام count تعریف شده است که تعداد عناصر داخل صف را برمی گرداند. نوع بازگشتی int است.
دانلود سورس حل مارپیچ (MAZE) با سی پلاس پلاس در این برنامه برای حل مارپیچ از پشته استفاده شده است.تابعی به نام solve تعریف شده است:ورودی این تابع یک اشاره گر دوبعدی به دادهی کاراکتر (** char) و یک عدد صحیح (int) میباشد.اشارهگر دوبعدی در واقع آدرس خانهی اول از یک آرایهی دوبعدی مربع (تعداد سطر و ستون مساوی) میباشد که یک مارپیچ را نمایش میدهد. (قالب نمایش مارپیچ به صورت آرایه در ادامه آمده است.)ورودی بعدی (عدد صحیح) تعداد سطر و ستون آرایه را نشان میدهد.این تابع مسیر حل مارپیچ را با کاراکتر '.' در آرایه علامتگذاری میکند.برای حل مارپیچ بایستی از ساختمان داده ی پشته استفاده کنید.نقطهی شروع حرکت محتصات (0 ,1) و نقطهی پایان مختصات (n-2, n-1) میباشد که n برابر تعداد سطر و ستون آرایه است.قالب آرایه برای نمایش مارپیچ:برای نمایش مارپیچ از یک آرایهی دوبعدی کاراکتر استفاده میشود.این آرایه تعداد سطر و ستون برابر دارد.دیوارها با کاراکتر '#' مشخص شدهاند.مسیر بدون مانع با کاراکتر ' ' مشخص شده است.
دانلود سورس تبدیل عبارت میانوندی به پسوندی با سی پلاس پلاس تابعی به نام Infix2Postfix1 تعریف شده است:این تابع یک رشته (* char) به عنوان ورودی میگیرد. (رشته با نویسهی تهی '0\' پایان میپذیرد.)رشتهی ورودی این تابع یک عبارت میانوندی میباشد. (قالب عبارت میانوندی در ادامه آمده است.)این تابع یک رشته (* char) بازمیگرداند. رشته بایستی با نویسهی تهی '0\' پایان پذیرد.این تابع با استفاده از ساختمان دادهی پشته، عبارت میانوندی ورودی خود را به عبارت پسوندی تبدیل کرده و به عنوان خروجی بازمیگرداند. (قالب عبارت پسوندی در ادامه آمده است.)تابع مرحلهی قبل (Infix2Postfix1) به گونهای تغییر کرده است که:خروجی تابع float میباشد.تابع به جای تبدیل عبارت میانوندی به پسوندی؛ حاصل آن را بازمیگرداندنام تابع را به Infix2Postfix2 تغییر یافته است.قالب عبارت میانوندی: عبارت میانوندی شامل عملوند و عملگر و پرانتز باز '(' و بسته ')' میباشد. عملوندها به صورت اعداد اعشاری (ارقام ۱ تا ۹ و علامت ممیز (.)) و عملگرها شامل جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/) و توان (^) میباشند. بین عملوندها، عملگرها و پرانتزها هیچ نویسهای (مانند فاصله) وجود ندارد. قالب عبارت پسوندی: عبارت پسوندی شامل عملوند و عملگر (با قالبی مانند عبارت میانوندی) میباشد. عملگرها و عملوندها با نویسهی فاصله (' ') جدا میشوند. حافظههای ایجاد شده در پایان برنامه آزاد می شوند.
دانلود سورس پیاده سازی پشته (Stack) به زبان سی پلاس پلاس در این برنامه برای پیاده سازی پشته از آرایه استفاده شده است.classای به نام Stack تعریف شده است :این class به صورت template پیادهسازی شده است.توابع سازندهی کپی و مخرب پیادهسازی شده اند.علاوه بر سازندهی کپی؛ سازندهای تعریف شده است که هیچ ورودی نمیگیرد و یک پشته با اندازهی صفر ایجاد میکند.توابع زیر برای این class پیاده شده اند:push: یک داده گرفته و در پشته ذخیره میکند. pop: داده را از پشته خارج و بازمیگرداند. top: دادهی بالای پشته را بازمیگرداند اما از پشته خارج نمیکند. size: تعداد دادههای ذخیره در پشته را بازمیگرداند.