Algoritmlarni loyihalash Labaratoriya ishi №3


Download 116.29 Kb.
bet1/2
Sana26.05.2020
Hajmi116.29 Kb.
#110106
  1   2
Bog'liq
Algoritm 3-lab


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:

  1. Array boshidan uning oxirgi elementidan bitta oldingi elementigacha yurib chiqamiz.

  2. 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)

  3. 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.

  4. 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):



Download 116.29 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling