80_LEGNAGYOBB_KIVALASZTASA

80_LEGNAGYOBB_KIVALASZTASA

import random

Modul importálása: A random modul lehetővé teszi véletlenszámok generálását, ami itt az a lista feltöltéséhez szükséges.

n = 20

Változó deklarálása: Beállítjuk az n változót, amely meghatározza, hogy hány számot generálunk (itt 20 darabot).

a = [random.randint(-100, 100)

for i in range(n):

Külső ciklus (20 ismétlés): Ez a ciklus végigmegy a lista minden elemén, hogy elvégezze a buborékrendezést.

     for j in range(0, n - i - 1):

Belső ciklus: Ez a ciklus végigmegy az a listán, összehasonlítva az egymás melletti elemeket.

Az n - i - 1 határozza meg, hogy a már rendezett elemeket ne vizsgáljuk újra, így egyre kevesebb összehasonlítás történik minden iterációval.

        if a[j] < a[j + 1]:

Összehasonlítás: Ellenőrizzük, hogy az aktuális szám kisebb-e, mint a következő. Ha igen, cserélni kell őket.

            a[j], a[j + 1] = a[j + 1], a[j]

Elemek cseréje:

Ha a jelenlegi elem kisebb, akkor a két szám helyet cserél.

Így a nagyobb értékek fokozatosan előre kerülnek, míg a kisebbek hátracsúsznak.

for elem in a: 

     print(elem)

Kiírás: A lista minden elemét kiírjuk a konzolra, így láthatjuk a rendezett, csökkenő sorrendű számokat.

import random

n = 20

a = [random.randint(-100, 100) 

for _ in range(n)] # Véletlenszámok listája -100 és 100 között

#Buborékrendezés algoritmus (csökkenő sorrend)

for i in range(n): 

    for j in range(0, n - i - 1): 

       if a[j] < a[j + 1]: 

        a[j], a[j + 1] = a[j + 1], a[j]

for elem in a:  #Lista kiiratas

     print(elem)

Repülőtéri járatok indulási idő szerinti rendezése

Egy nagy nemzetközi repülőtér naponta több száz járatot indít. Az utasoknak és a személyzetnek egyértelműen kell látniuk az indulási időpontokat, hogy hatékonyan szervezhessék az utazásukat. A rendszer beolvassa a járatok indulási idejét, majd a buborékrendezés algoritmus segítségével sorba állítja azokat.

import random

Járatok száma

n = 20

Véletlenszerű indulási idők (percekben, reggeltől estig)

a = [random.randint(300, 1440)]

for _ in range(n):

 Buborékrendezés (csökkenő sorrendben, hogy a korábban induló járatok előre kerüljenek)

for i in range(n): 

     for j in range(0, n - i - 1):

          if a[j] < a[j + 1]:

Összehasonlítás: Ellenőrizzük, hogy az aktuális szám kisebb-e, mint a következő. Ha igen, cserélni kell őket.

              a[j], a[j + 1] = a[j + 1], a[j]

for indulasi_ido in a: 

     ora = indulasi_ido // 60  

     perc = indulasi_ido % 60 

      print(f"Járat indulása: {ora:02}:{perc:02}")

Hogyan működik ez a repülőtéri rendszer? 

1️⃣ A rendszer beolvassa a járatok indulási időpontjait, de az adatok kezdetben rendezetlenek. 

2️⃣ Buborékrendezés segítségével csökkenő sorrendbe állítjuk az időpontokat, így a korábban induló járatok kerülnek az első helyekre

3️⃣ Formázott órák és percek szerint kiírjuk az eredményeket, hogy a repülőtér kijelzője pontosan mutassa a járatok időpontját.

Miért fontos ez?

Az utasok könnyen megtalálhatják az indulás előtt álló járatokat.

A légitársaságok és földi személyzet hatékonyabban tudják kezelni az indulásokat.

Egy ilyen algoritmus segít a járatok optimális tervezésében és a logisztikai folyamatok gyorsításában.