Middle — Senior
Чӣ қадар даврҳо барои сорт ва пайваст кардани рӯйхатҳо бе функсияҳои lambda лозим аст?
sobes.tech AI
Ҷавоб аз AI
Барои сартосарӣ ва пайваст кардани ду рӯйхат бе истифодаи функсияҳои lambda одатан ду цикл асосӣ лозим аст:
-
Пайваст кардани рӯйхатҳо:
- Ба осонӣ аз рӯйхати дуввум гузаред ва онҳоро ба рӯйхати аввал (ё ба рӯйхати нав) илова кунед.
-
Сартосарӣ кардани рӯйхати пайвастшуда:
- Барои сартосарӣ кардан, метавонед алгоритми стандартиро истифода баред (масалан, илова кардан, балон ё тез сартосарӣ), ки як ё чанд циклҳои дохилӣ дорад.
Агар истифодаи сартосарии дарунсохт (масалан, sort() дар Python ё Collections.sort() дар Java) истифода шавад, шумораи циклҳои дохилӣ намоён нест, аммо аз нуқтаи назари алгоритм, одатан чанд гузариш аст.
Масалан дар Python бе lambda:
list1 = [3, 1, 4]
list2 = [2, 5]
# Пайваст кардан
combined = []
for item in list1:
combined.append(item)
for item in list2:
combined.append(item)
# Балон сартосарӣ
for i in range(len(combined)):
for j in range(0, len(combined)-i-1):
if combined[j] > combined[j+1]:
combined[j], combined[j+1] = combined[j+1], combined[j]
print(combined)
Хулоса, барои пайваст кардан ва сартосарӣ кардан бе lambda ва функсияҳои дарунсохт одатан камтар аз ду цикл (як барои пайваст кардан, як ё бештар барои сартосарӣ) лозим аст.