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

لیست های پیوندی

mo|-|sen

Registered User
تاریخ عضویت
4 آگوست 2005
نوشته‌ها
1,368
لایک‌ها
50
محل سکونت
KASHAN
من یه لیست پیوندی دارم میخوام کاری کنم که موقع نمایش اطلاعات لیست رو از انتها به ابتدا نمایش بده
کد:
void list()
 {
  clrscr();
  struct st *p;
  p=first;
  while (p!=NULL)
     {
       cout<<" Name = "<<p->name<<"        ";
       cout<<" Number = "<<p->id<<"\n";
       p=p->link;
     }
  getch();
 }

اینم Struct هست
کد:
struct st {
 char name[10];
 int id;
 struct st *link;
}*first,*last,*p;
 

MahdiΩ

کاربر تازه وارد
تاریخ عضویت
27 ژانویه 2006
نوشته‌ها
324
لایک‌ها
0
درسته!

نگفتید کجاش مشکل دارید!

اگه Node ها رو به صورت مرتب (با ترتیبی که مد نظر شماست) به لیست اضافه کنید،موقع نمایش هم به راحتی پیمایش میشن.
 

mo|-|sen

Registered User
تاریخ عضویت
4 آگوست 2005
نوشته‌ها
1,368
لایک‌ها
50
محل سکونت
KASHAN
به نقل از Arash_j13 :
شرمنده اشتباه تایپی بود :p
میخوام موقع نمایش از انتها به ابتدا نمایش بده
یعنی اونی که آخر اومده اول نمایش بده
 

MahdiΩ

کاربر تازه وارد
تاریخ عضویت
27 ژانویه 2006
نوشته‌ها
324
لایک‌ها
0
یعنی اونی که آخر اومده اول نمایش بده

یه راهش اینه که از لیست دو پیوندی استفاده کنی.

یه راهش اینه که از یه پشته استفاده کنی.
(از اول لیست رو پیمایش کن و گره ها (یا فیلد مورد نظر) رو توی پشته بزار و بعد از روی پشته یکی یکی چاپشون کن)

و .....
 

mo|-|sen

Registered User
تاریخ عضویت
4 آگوست 2005
نوشته‌ها
1,368
لایک‌ها
50
محل سکونت
KASHAN
به نقل از MahdiΩ :
یه راهش اینه که از لیست دو پیوندی استفاده کنی.

یه راهش اینه که از یه پشته استفاده کنی.
(از اول لیست رو پیمایش کن و گره ها (یا فیلد مورد نظر) رو توی پشته بزار و بعد از روی پشته یکی یکی چاپشون کن)

و .....

ببخشید میشه برنامشو بنویسی چون اینجوری من بیشتر میگیرم اگه میشه به هر دو راه حلی که گفتید بنویسید ممنون میشم;)
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
کد:
void list(const st * node)
{
  if(node==NULL)
    return;
  list(node->link);
  cout<<node->id<<endl;
}

گره شروع رو به این تابع پاس بدید براتون به صورت برعکس چاپ می کنه
 
بالا