بکندباز

تابعی بنویسید که دو لیست را در یک لیست ادغام کند و لیست جدید را به همان ترتیبی که لیست اول مرتب شده بود، مرتب کند.

نمونه ورودی و خروجی

MergeSort([1, 2, 3], [5, 4, 6]) ➞ [1, 2, 3, 4, 5, 6]

MergeSort([8, 6, 4, 2], [-2, -6, 0, -4]) ➞ [8, 6, 4, 2, 0, -2, -4, -6]

MergeSort([120, 180, 200], [190, 175, 130]) ➞ [120, 130, 175, 180, 190, 200]

نکات

  • همیشه دو لیست به عنوان آرگومان به تابع داده می‌شود.
  • لیست اول همیشه مرتب‌شده است، چه به صورت صعودی (asc) و چه به صورت نزولی (desc)
EXPECT_EQ(MergeSort({1, 2, 3}, {5, 4, 6}), std::vector({1, 2, 3, 4, 5, 6}));
EXPECT_EQ(MergeSort({8, 6, 4, 2}, {-2, -6, 0, -4}), std::vector({8, 6, 4, 2, 0, -2, -4, -6}));
EXPECT_EQ(MergeSort({120, 180, 200}, {190, 175, 130}), std::vector({120, 130, 175, 180, 190, 200}));
EXPECT_EQ(MergeSort({25, 21, 17, 13}, {}), std::vector({25, 21, 17, 13}));
EXPECT_EQ(MergeSort({1024, 2048}, {512, 128, 64}), std::vector({64, 128, 512, 1024, 2048}));
EXPECT_EQ(MergeSort({-1, -3}, {11, -5, 7, -11}), std::vector({11, 7, -1, -3, -5, -11}));

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*