• Dastur kodi
  • $sum = 5 ($func($a) + $func($b))




    Download 5,05 Mb.
    bet3/3
    Sana05.07.2024
    Hajmi5,05 Mb.
    #266715
    1   2   3
    Bog'liq
    2-ishamaliy

    i- va j-elementlarning o‘rni almashtiriladi. Agar i<=j bo‘lsa, 3-qadamga o‘tiladi.

    Birinchi o‘tishdan keyin tanlangan element o‘zining joyiga kelib joylashadi.

    1. Endi shu ko‘rilayotgan oraliqda key kalitning chap tomonida elementlar mavjud bo‘lsa, ular ustida yuqoridagi amallarni bajarish lozim, ya’ni ko‘riladigan oraliq 0 dan key-1 gacha deb belgilanadi va 2-qadamga o‘tiladi. Aks holda keyingi qadamga o‘tiladi.

    2. Endi shu ko‘rilayotgan oraliqda key kalitning o‘ng tomonida elementlar mavjud bo‘lsa, ular ustida yuqoridagi amallarni bajarish lozim, ya’ni ko‘riladigan oraliq key+1 dan n-1 gacha deb belgilanadi va 2-qadamga o‘tiladi. Aks holda algoritm tugaydi.

    Shu algoritmga misol ko‘rib chiqamiz.
    Misol: Talabalar ism-sharifi va tartib raqamidan iborat jadvalni quicksort algoritmi bilan saralang va nechta o‘rinlashtirish amalga oshirilganini aniqlang.
    Dastur kodi
    function quickSort($array) {

    $length = count($array);
    if($length <= 1) {
    return $array;
    } else {
    $pivot = $array[0];

    $left = $right = [];

    for($i = 1; $i < count($array); $i++) {
    if($array[$i] < $pivot) {
    $left[] = $array[$i];
    } else {
    $right[] = $array[$i];
    }
    }

    return array_merge(quickSort($left), array($pivot), quickSort($right));


    }
    }

    $mashinalar = array(


    "BMW" => "Nigina",
    "Mercedes" => "Shahzod",
    "Toyota" => "Ulug'bek",
    "Lada" => "Xurshid",
    "Volvo" => "Yusuf"
    );

    asort($mashinalar);

    $ismlar = array_values($mashinalar);

    $ismlar = quickSort($ismlar);

    $tartib = array();
    foreach ($ismlar as $ism) {
    foreach ($mashinalar as $mashina => $egasi) {
    if ($ism == $egasi) {
    $tartib[$mashina] = $egasi;
    }
    }
    }

    // Natijani chiqarish


    foreach ($tartib as $mashina => $egasi) {
    echo $mashina . " - " . $egasi . "\n";
    }
    ?>



    Xulosa:
    Har bir saralash algoritmi o'z xususiyatlari va foydalangan sharoitlarga qarab ishlaydi. Agar ro'yxat kichik bo'lsa yoki asosan to'g'ri qatlamli bo'lsa, Bubble Sort ishlay oladi. Biroq, agar ro'yxat katta bo'lsa, vaqt xavfsiz bo'lsa, Quick Sort yoki Merge Sort ishlatish maqsadga muvofiq bo'ladi. Selection Sort esa qisqa ro'yxatlarda ishlaydi, ammo katta ro'yxatlarda yaxshi ishlamaydi. Har hafta ro'yxatlar o'z turar joyida, va shartlarga qarab eng yaxshi algoritmani tanlash juda muhimdir.
    Download 5,05 Mb.
    1   2   3




    Download 5,05 Mb.