Muhammad Al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti
Fan nomi: Algoritmlarni loyihalash
Labaratoriya ishi №3
Variant №7
Mavzu: Pufakchali , Tezkor , Kiritish saralash algoritmlari
Guruh:CAL016-L2
Bajardi: Mamadaliyev Arabboy
Tekshirdi:Nazarov Azizbek
Toshkent -2020
Variyant № 7
1-Vazifa: Pufakchali saralash
Algoritm qadamlari:
Array boshidan uning oxirgi elementidan bitta oldingi elementigacha yurib chiqamiz.
Har bir yurib chiqishda ichki takrorlanish orqali qo’shni elementlarni bir-biri bilan solishtirib, katta elementni o’ng tomonga joylashtirib ketamiz. (O’sish tartibidagi saralashda)
Har bir tashqi takrorlanish qadami tugagandan so’ng bizda array oxiridan boshlab array saralanib boradi. Shu sababli har safar ichki takrorlanishda bu qismni qayta ko’rib chiqish shart emas.
Tashqi takrorlanish tugaganda bizda saralangan massiv hosil bo’ladi.
Python dasturlash tilida yozilgan kodi :
Visual studioda yozilgan :
# Pufakchali saralash
import random
def pufakchali(massiv):
n = len(massiv)
for i in range(n-1):
for j in range(0, n-i-1):
if massiv[j] > massiv[j+1] :
massiv[j], massiv[j+1] = massiv[j+1], massiv[j]
massiv = []
for i in range(10):
i=random.randint(0,100)
massiv.append(i)
print("Tasodifiy sonlardan iborat massiv :",massiv)
pufakchali(massiv)
print ("Pufakchali saralangan massiv:",massiv)
Dastur natijasi :
Dastur 4 marta run qilingan :
Tezkor saralash
Dastur kodi :
#Tezkor saralash dasturi
import random
def tezkor(massiv):
kichik = []
teng = []
katta = []
if len(massiv) > 1:
a = massiv[0]
for x in massiv:
if x < a:
kichik.append(x)
elif x == a:
teng.append(x)
elif x > a:
katta.append(x)
return tezkor(kichik)+teng+tezkor(katta)
else:
return massiv
massiv = []
for i in range(10):
i=random.randint(0,100)
massiv.append(i)
print("Tasodifiy sonlardan iborat massiv :",massiv)
print("Tezkor saralangan massiv : ",tezkor(massiv))
Dastur natijasi (dastur 4 marta run qilingan):
Do'stlaringiz bilan baham: |