دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: پشته یا استک در ساختمان داده ها ( stack )

  1. #1
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پشته یا استک در ساختمان داده ها ( stack )

    يك پشته ساختمان داده اي خطي است كه در ان عمل اضافه كردن يا حذف عنصر تنها در يك انتهاي ان امكانپذير است باين ترتيب به پشته ها ليستهاي اخرين ورودي اولين خروجي LIFO : Last In First Out نيز ميگويند . گاهي به پشته FILO نيز ميگويند .
    يكي از كاربردهاي پشته ذخيره ادرس بازگشت و ساخت متغيرهاي محلي در صدا زدن توابع است .
    در ابتداي كار با پشته top به عنصر صفرام پشته اشاره ميكند .
    يك پشته ليستي از عناصر است كه در آن هر عنصر را ميتوان تنها از يك انتها موسوم به بالاي پشته حذف يا اضافه كرد يعني عناصر به ترتيب عكسي كه وارد پشته ميشوند از پشته حذف ميشوند .
    نقطه اي كه در ان ميتوان اطلاعات را وارد پشته يا از ان خارج كرد مهمترين نقطه پشته است كه به بالاي پشته با نام TOP شناخته ميشود .
    بنابراين عناصر به ترتيب عكسي كه وارد پشته ميشوند از پشته حذف ميشوند .
    براي وارد كردن اطلاعات به پشته از عملي به نام PUSH استفاده ميكنيم و براي حذف اطلاعات از ان از POP استفاده ميكنيم .
    براي سهولت كار با پشته ها انها را با ليست يكطرفه يا آرايه خطي نشان ميدهند .
    براي PUSH كردن يك عنصر در پشته ميتوانيم از پراسيجري به نام PUSH استفاده كنيم كه داراي ورودي هاي مانند نام پوشه (STACK) و نقطه بالايي TOP و حداكثر اندازه پشته و متغيري كه قرار است وارد پشته شود

    در پراسيجر بالا ابتدا براي انكه اشتباها سرريز overflow از پشته رخ ندهد بايد چك كنيم كه بالاترين نقطه top در كجاست ؟ ايا امكان دارد يك مقدار به ان اضافه شود در حاليكه از سايز پشته بالاتر نرود ؟
    اگر پشته اماده دريافت باشد به گام دوم برنامه فوق ميرويم وگرنه با تايپ شدن پيغام overflow از پراسيجر خارج ميشويم .
    در گام دوم پراسيجر يك مقدار به top استفاده ميكنيم تا اشاره به مكاني بكند كه قرار است داده ما به ان وارد شود .
    در گام سوم عنصر ما وارد پشته ميشود .
    در گام چهارم به نقطه پاياني ميرسيم و سپس از برنامه خارج ميشويم .
    براي حذف يك عنصر از پشته از تابع POP استفاده ميكنيم
    هرگاه پشته ما خالي بود هر مقداري بازگردانيم كه در اينجا بصورت قراردادي مقدار پوچ null را بازگردانيديم .
    پس از انكه مطمئن شديم پشته ما مقداري دارد ان مقداري كه اشاره گر top به ان اشاره ميكند را در متغيري محلي بنام y ميريزيم و سپس از مقدار top يكي كم ميكنيم .
    و مقدار y را در نام تابع return ميكنيم .
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  2. #2
    دوست آشنا
    رشته تحصیلی
    کامپیوتر
    نوشته ها
    1,151
    ارسال تشکر
    3,303
    دریافت تشکر: 2,587
    قدرت امتیاز دهی
    38
    Array
    بانوثریا's: جدید117

    پیش فرض پاسخ : پشته یا استک در ساختمان داده ها ( stack )

    در واقع پشته مثل بشقاب هایی هست که روی هم گذاشتید اول باید بالاترین بشقاب(داده) رو بر دارید چون اگر زیرترین بشقاب رو در بیارید بقیه بشقاب ها شکسته میشه پس باید بالاترین داده رو خارج کنیم

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. آموزشی: ساختمان داده ها در c# (با رویکردی بر c# 2.0 )
    توسط Admin در انجمن برنامه نویسی تحت وب
    پاسخ ها: 8
    آخرين نوشته: 27th February 2011, 04:17 PM
  2. دستیابی داده در asp.net 2.0
    توسط آبجی در انجمن برنامه نویسی تحت وب
    پاسخ ها: 2
    آخرين نوشته: 15th February 2010, 12:39 AM
  3. مقاله: آشنایی با مفاهیم انباره های داده (DatawareHouse)
    توسط Admin در انجمن بخش مقالات نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 29th January 2009, 05:40 AM
  4. پروژه ی کامپیوتر : شبکه های کامپیوتری
    توسط Admin در انجمن پروژه های سخت افزار
    پاسخ ها: 2
    آخرين نوشته: 7th October 2008, 04:57 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •