اشاره گر به اشیاء و ایجاد لیست پیوندی در سی پلاس پلاس


اشاره گر به اشیاء و ایجاد لیست پیوندی در سی پلاس پلاس
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

آموزش اشاره گر به اشیاء و ایجاد لیست پیوندی در سی پلاس پلاس:


در این جلسه با مبحث اشاره گرها به اشیا و ایجاد لیست پیوندی در ++C آشنا می‌شوید. در جلسات گذشته با اشاره گرها آشنا شدیم و یاد گرفتیم که می توانیم یک اشاره گر تعریف کنیم که به یک متغیر معمولی، آرایه یا ماتریس متصل شود و حتی می‌توانیم اشاره گرها  را به توابع متصل و از آن‌ها استفاده کنیم. اما حالا که یاد گرفتیم از کلاس‌ها استفاده کنیم، اشاره گرها را می‌خواهیم به اشیاء متصل کنیم. وقتی اشاره گرها را به اشیا متصل می‌کنیم باعث پویایی حافظه می‌شود، سرعت درج و حذف بالا می‌رود.


ما همیشه در برنامه کاربردی نیاز داریم با داده‌های خیلی زیاد کار کنیم تا قبل از این فقط می‌توانستیم از آرایه‌ها استفاده کنیم. آرایه‌ها دارای مزیت‌های زیادی هستند، چون می‌توانند داده‌های زیادی را برای ما نگهداری کنند اما همیشه یک معضل بزرگ برای آرایه‌ها وجود دارد اینکه درج و حذف از آرایه خیلی سخت است برای مثال اگر یک آرایه 100 عنصری داشته باشیم که داده‌های مرتبی داشته باشد و اگر تصمیم بگیرم که یک داده‌ایی وسط  آرایه درج کنیم برای اینکار مجبوریم تمام خانه‌های بعدی آرایه را حرکت دهیم که یک عمل درج انجام دهیم و شاید بخواهیم عنصری از آرایه حذف کنیم و با حذف کردن آن می‌خواهیم آرایه دوباره مرتب باشد. علت این مشکل این است که داده‌ها پشت سرهم در حافظه قرار دارند.


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


ما هر زمان می‌خواهیم داده‌ایی را ذخیره کنیم معمولا خانه‌ایی داریم که داده‌ها را در آن میریزیم اما در لیست‌های پیوندی برای نگهداری یک داده به دو خانه نیاز داریم یک خانه برای نگهداری داده که از جنس داده معمولی است و یک خانه برای نگهداری آدرس بعدی که جنس آن از نوع اشاره گر است. پس نیاز داریم یک ساختار دو تیکه داشته باشیم که بخش اول بتواند داده ذخیره کند و بخش دوم اشاره گر ذخیره کند. اما این آدرس، آدرس خانه بعدی می‌باشد. پس ما به یک کلاس با دو صفت نیاز داریم. در آرایه‌ها محدودیت تعداد عناصر داشتیم یعنی آرایه حتی اگر پویا هم تعریف می‌شد به این شکل بود که تعداد خانه‌هایش از ابتدا مشخص بودند، اما مزیت لیست‌های پیوندی این است که هیچ محدودیتی ندارد، کاملا پویا است و تا بی نهایت می‌توان به آن خانه اضافه کرد.

 


دوست درسمنی عزیز، امیدواریم از این آموزش لذت برده باشید.
برای یادگیری این مبحث می‌توانید این درس را تهیه کنید و از فایل‌ها و ویدئو این بخش استفاده کنید.
شما عزیزان می‌توانید سوالات خود را در بخش انجمن پرسش و پاسخ مطرح کنید و همچنین منتظر انتقادات و پیشنهادات مفید شما در بخش نظرات هستیم تا ما را در کیفیت بهتر آموزش‌هایمان یاری کنید.


با امید موفقیت و شادی برای شما دوست درسمنی عزیزsmiley

انجمن ++C کاران درسمن

 

 


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 16 جلسه
مدت زمان 621 دقیقه
حجم دوره 2/39 گیگابایت
سطح مهارت پیشرفته
وضعیت دوره پایان یافته
تعداد دانشجویان 134
: میانگین امتیاز

70,000تومان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در ... ر انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.بیشتر بدانید