سلام
فرض کنید لیستی از فعالیت به صورت تصادفی تولید شده و می‌خواهیم این فعالیت‌ها در لیستی جدید براساس روابط اولویتی که در یک ماتریس بعنوان داده وارد شده قرار بگیرند. به عنوان مثال:

لیست تصادفی تولید شده:۴۵۳۱۰۲(۶ فعالیت از صفر تا ۵ داریم که تصادفی در یک لیست قرار گرفتند)
ماتریس روابط اولویت:
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 1
0 0 0 0 1 0
0 0 0 1 0 0
0 1 1 0 1 0
( فعالیت ۰ پیشنیاز ندارد. فعالیت ۱ و ۲ پیشنیازشان ۰ است. فعالیت ۳ پیشنیازش ۱ است. پیشنیاز ۴ فعالیت ۲و پیشنیاز ۵ فعالیت های ۱و۳و۴ است)

لیست جدیدی داریم که می خواهیم به این شکل پر شود که در لیست بالا فعالیتی که هیچ پیشنیازی ندارد وارد لیست جدید می‌شود(فعالیت ۰) ، بعد دوباره از اول لیست یعنی فعالیت ۴ بررسی صورت می‌گیرد و فعالیتی که پیشنیازش در لیست نیس انتخاب می‌شود یعنی فعالیت ۱ دوباره از اول لیست شروع می‌شود فعالیت ۳ پیشنیازش در لیست اول وجود ندارد پس انتخاب شده به لیست جدید وارد می شود. این مراحل تکرار می شود تا دیگر لیست اول خالی شود و لیست جدید به این شکل پر شده است: ۰۱۳۲۴۵

چطوری میتونم اکد این رویه را با کنسول بنویسم.
اگر میشه راهنمایی کنید.
ممنون.