Problem

6/8

مرتب سازی در پایتون

Theory Click to read/hide

روش‌های مرتب‌سازی داخلی 

پایتون یک تابع مرتب‌سازی سریع داخلی به نام‌های sorted() و sort() دارد.  از Timsort.
استفاده از توابع مرتب سازی داخلی را در نظر بگیرید.
1) دریافت یک آرایه جدید B که با آرایه A که به ترتیب صعودی مرتب شده مطابقت دارد (به طور پیش‌فرض، مرتب‌سازی به ترتیب صعودی): B = مرتب شده (A) 2) دریافت یک آرایه جدید B که مطابق با آرایه A است که به ترتیب نزولی مرتب شده اند: B = مرتب شده (A، معکوس = درست) معکوس - ترجمه شده از انگلیسی "reverse".

3) برای انجام مرتب سازی غیر استاندارد، یک کلید مرتب سازی مورد نیاز است - آرگومان key.
برای مرتب سازی به ترتیب صعودی بر اساس آخرین رقم یک عدد، کلید آخرین رقم عدد خواهد بود.
برای انجام این کار، باید تابعی بنویسید که کلید مورد نیاز را به ما برمی گرداند - در مورد ما، آخرین رقم شماره. # تابعی که کلید مرتب سازی را برمی گرداند # - آخرین رقم عدد Def lastDigit(n): بازگشت n% 10 B = مرتب شده (A، کلید = آخرین رقم) 4) استفاده از تابع lambda - بدون نام.
اگر نمی خواهید یک تابع جداگانه بنویسید، به دلیل سادگی، می توانید از توابع لامبدا استفاده کنید. هنگامی که در پارامتر key فراخوانی می شود، چنین توابعی مستقیماً نوشته می شوند. B = مرتب شده (A، کلید = lambda x: x % 10) 5) اگر نیاز دارید آرایه را "در جای خود" مرتب کنید (بدون اختصاص آرایه اضافی)، بهتر است از روش sort() استفاده کنید.
به عنوان مثال، مرتب کردن آرایه A بر اساس آخرین رقم به ترتیب نزولی به این صورت است: A.sort(key = lambda x: x % 10, reverse = True)

Problem

آرایه ای از اعداد N داده می شود.
آرایه را با استفاده از روش های مرتب سازی داخلی مرتب کنید.
جاهای خالی برنامه را پر کنید.