شما عضو نیستید, برای دسترسی کامل به سایت لطفا از طریق این لینک ثبت نام نمائید.     close
 

تالارهای گفتمان جی تاک

جدیدترین موضوعات انجمنها دانلود تولبار جی تاک


بازگشت   تالارهای گفتمان جی تاک برنامه نویسی , طراحی وب و موضوعات مرتبط برنامه نویسی C, C++ and Visual C
ارسال موضوع جدید  پاسخ
 
لینک مستقیم ابزارهای موضوع جستجو در موضوع
قدیمی 13th January 2010   #1

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

ساختمان های داده در C (پشته)

در اينجا به تعريف ساختمان داده پشته پرداخته، كاربردهايي از آن را مطرح خواهيم كرد. پشته ساختمان داده اي است كه عمل حذف و اضافه كردن عناصر آن،از طرف بالاي پشته انجام مي شود. به همين دليل آن را ساختمان داده LIFO مي نامند كه به معناي خروج به ترتيب عكس ورود است.

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #2

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

نوع داده انتزاعي پشته

با توجه به عملكرد پشته، مي توان آن را به صورت يك نوع داده انتزاعي تعريف كرد:



ADT پشته

مجموعه اي از عناصر داده ها:

مجموعه اي از عناصر مرتب كه از يك طرف قابل دستيابي اند و اين طرف، بالاي پشته نام دارد.

عمليات اصلي:

ايجاد پشته:پشته خالي را ايجاد مي كند.

تست خالي بودن پشته: خالي بودن پشته را تست مي كند.

افزودن عنصر به بالاي پشته:عنصري را به بالاي پشته اضافه مي كند.

حذف عنصر از بالاي پشته: عنصري را از بالاي پشته حذف مي كند.

بازيابي عنصر بالاي پشته: عنصري را از بالاي پشته بازيابي مي كند، ولي حذف نمي كند.

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #3

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

پياده سازي پشته


براي پياده سازي پشته،راجع به پشته اي از كتاب ها فكر كنيد كه دريك قفسه ي كتاب روي هم قرار دارند. مي توان كتابي را در بالاي پشته قرار داد يا كتابي را از بالاي پشته برداشت.

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #4

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

اين مفهوم پشته را به دو شكل مي توان پياده سازي كرد:



1.پياده سازي خطي (Linear)

2.پياده سازي پيوندي (Linked)

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #5

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

vپياده سازي پشته با آرايه

در اين روش، براي ذخيره عناصر پشته از آرايه استفاده مي كنيم و براي مدل سازي اين نوع پشته از متغيري به نام myTop براي نگهداري بالاي پشته استفاده خواهيم كرد.

بنابراين، داده هاي مورد نياز براي پشته عبارتند از:

آرايه اي كه عناصر پشته را نگهداري كند.

يك متغير صحيح كه بالاي پشته را مشخص نمايد.

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #6

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

تعريف پشته براساس آرايه

باتوجه به اين كه آرايه را به عنوان بستر نمايش پشته انتخاب كرديم، پشته اي از نوع صحيح را مي توان به صورت زير تعريف كرد:

#define SIZE 100
struct stack {
int myTop;
int items[SIZE];
}

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
قدیمی 13th January 2010   #7

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

پياده سازي عمل ايجاد پشته

عمل ايجاد پشته، بايد يك آرايه و يك متغير نشان دهنده بالاي پشته را تعريف كند و پشته خالي را ايجاد نمايد. متغير نشان دهنده بالاي پشته، myTop است، كه در پشته خالي، برابر با 1_ است. بنابراين، عمل ايجاد پشته به صورت زير پياده سازي مي شود:


#define SIZE 100
struct stack {
int myTop;
int items[SIZE];
};
stack s;
s.myTop = -1;

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
Game Over ، کاربر روبرو از شما به خاطر پست مفیدتان تشکر کرده است :
قدیمی 13th January 2010   #8

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

پياده سازي عمل تست خالي بودن پشته

اگر sپشته موردنظر و myTopنشان دهنده عنصر بالاي پشته باشد، s.myTOP درپشته خالي برابر با 1- است. بنابراين، درطول اجراي برنامه مي توان براي تست خالي بودن پشته، از شرط s.myTop == -1 استفاده كرد:

if(s.myTop == -1)
/*پشته خالي است */
else
/*پشته خالي نيست */

عمل empty() را مي توان به صورت زير پياده سازي كرد:

int empty(stack *s)
{
if(s -> myTop == -1)
/* مقدار 1 ارزش درستي دارد */ return 1;
else
/* مقدار 0 ارزش درستي دارد */ return 0;
}

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
Game Over ، کاربر روبرو از شما به خاطر پست مفیدتان تشکر کرده است :
قدیمی 13th January 2010   #9

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

پياده سازي عمل حذف از پشته

pop() سه وظيفه زير را انجام مي دهد:


1.اگر پشته خالي باشد، پيام اخطار را چاپ كرده اجراي برنامه را خاتمه مي دهد.

2.عنصر بالاي پشته را حذف مي كند.

3.عنصر بالاي پشته را به برنامه فراخوان برمي گرداند.


اين تابع را مي توان به صورت زير پياده سازي كرد (براي پشته نوع صحيح):

int pop(stack *s)
{
if(empty(s))
{
printf("Stack underflow");
exit(1); /* exit from program*/
}
return s -> items[(s -> myTop)--];
}


در حين اجراي برنامه، پس از تشخيص وضعيت خالي بودن پشته، نيازي به توقف اجراي برنامه نيست،بلكه بهتر است تابع pop() سيگنالي به برنامه ي فراخوان بفرستد و برنامه براساس اين سيگنال تصميمات لازم را اتخاذ نمايد سيگنال مي تواند مقداري باشد كه از طريق پارامتر مبادله مي شود. چنين تابعي را popAndTest() ناميده به صورت زير مي نويسيم:

void popAndTest(stack *s, int *x, int *underflow)
{
if(empty(s))
*underflow = 1;
else
{
*x = s -> items[(s -> myTop) --];
*underflow = 0;
}
}

در اين تابع، s پشته و x مقداري است كه توسط تابع برگردانده مي شود و پارامتر underflow به عنوان سيگنال عمل مي كند. برنامه نويس پس از فراخواني تابع، بايد به صورت زير عمل كند:

popAndTest (&s, &x, &underflow);
if(underflow)
/* پشته خالي است كه بايد عمل مناسبي انجام شود */
else
/* x برگردانده مي شود كه مي تواند از آن استفاده كند */

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
Game Over ، کاربر روبرو از شما به خاطر پست مفیدتان تشکر کرده است :
قدیمی 13th January 2010   #10

Game Over

مدیر ارشد جی تاک

 Game Over آواتار ها

تاریخ عضویت: Aug 2009
محل سکونت: تهران
نوشته ها: 4,125
تشکر از دیگران: 3,260
تشکر شده 6,199 بار در 2,100 پست

حالت
Amused

 

پياده سازي عمل افزودن به پشته

اين عمل به صورت زير نوشته مي شود:

void push(stack *s, int x)
{
s -> items[++(s -> myTop)] = x;
}

تابع push() را مي توان طوري نوشت كه در صورت بروز حالتسرریز پيام مناسبي صادر نموده اجراي برنامه را خاتمه دهد:

void push(stack *s, int x)
{
if(s -> myTop == SIZE-1)
{
printf("Stack overflow.");
exit(1);
}
else
s -> items[++(s -> myTop)] = x;
}

اين وضعيت چندان مناسب نيست، اما بهتر از وضعيتي است كه تلاش شود عنصري از پشته در آرايه ي پر قرار گيرد. بهترين حالت اين است كه تابعي به نام pushAndTest() نوشته شود تادرصورت بروز سرريز،سيگنالي به برنامه فراخوان بفرستد وبرنامه براساس آن تصميم گيري كند. اين تابع را مي توان به صورت زير نوشت:

void pushAndTest(stack *s, int x, int *overflow)
{
if(s -> myTop == SIZE - 1)
*overflow = 1;
else
{
*overflow = 0;
s -> items[++(s -> myTop)] = x;
}
}

----------------------------------------------------------------------------------------------------------------------

نگاه می کنم از غم به غم که بیشتر است...به خیسی چندانی که عازم سفر است

من از نگاه کلاغی که رفت، فهمیدم...که سرنوشت درختان باغ مان تبر است
Game Over آفلاين است  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiTweet this Post!
پاسخ با نقل قول
2 کاربر از شما به خاطر پست مفیدتان تشکر کرده اند :
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع جستجو در موضوع
جستجو در موضوع:

جستجوی پیشرفته

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

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال



ست مروارید عشق

بهترین هدیه برای دختران و خانم ها :
زیبا ترین و جذاب ترین هدیه سال برای دختر خانم ها و بانوان محترم

تولد – سالگرد ازدواج –هدیه آشنایی - روز عشق و ....

خودتان مروارید داخل صدف زنده كه در كنسرو شیشه ای بسته بندی شده است را در بیاورید و در قسمت مخصوصش در گردنبند قرار دهید

» برای مشاهده توضیحات و تصاویر بیشتر اینجا را کلیک کنید ...
 

روش خرید: برای خرید پس از کلیک روی دکمه زیر و تکمیل فرم سفارش، ابتدا محصول مورد نظر را درب منزل یا محل کار تحویل بگیرید، سپس وجه کالا و هزینه ارسال را به مامور پست بپردازید. جهت مشاهده فرم خرید، روی دکمه زیر کلیک کنید.

قیمت: 8900 تومان

 


Powered by vBulletin Version 3.8.6 & Our Members
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2
Host & Support By Kimiahost Co
© Copyright 2005-2010 Gtalk.ir
سایت سرگرمی و تفریحی * ثبت هاستینگ و دامنه * سایت سرگرمی و عکس های جالب * فروشگاه تکچین ، فروشگاه اینترنتی تکچین هدایای جالب و لوکس * ست مروارید عشق * سایت یک در یک ، فال و طالع بینی ، عکس ، مقالات آموزشی، پیامک های جالب *آموزش لاغری در 10 دقیقه *شارژ موبایل با باطری قلمی *بهترین هدیه روز مادر و روز زن *راه های افزایش قد + حرکات جادویی *ساعت LED آدیداس adidas *ساعت بدون عقربه Gucci *دستگاه کپی SMS و شماره تلفن *ست چاقوی میراکل بلید *دماسنج عشق *سایت هدفمند سازی یارانه ها *برچسب ضد اشعه امواج مضر موبایل * ساعت و گردنبند جادویی آرامبخش *مجله اینترنتی پی سی پارسی *بزرگترین شهر دانلود *فال و طالع بینی -تاروت *دانلود *پک سفیدکننده دندان اصل Whitelight *پاتوق تفريحي ايرانيان *سرگرمی و تفریحی شهرشب * کرم موبر باله آ اصل - Balea Cream *توپترينها *موبفا-مرجع تخصصی موبایل *قره جه طیار ، انتخابات گنبد *عکسهای بازیگران * درج آگهي و تبليغات *مجله تاپ مگ *هاست ایرانی ، میزبانی ملی *خرید زیور آلات ، بدلیجات ، مروارید *پنل ارسال sms *عکس *پاتوق اینترنتی *عکس *مجله تفریحی خبری فان فارس *تبادل لینک با ما - رنک 3 به بالا