<prompt> Andika algoriti ili kupanga safu ya nambari ambazo hazijapangwa.  <response>: Ili kupanga safu ya nambari ambazo hazijapangwa, mojawapo ya algoriti nyingi zinazoweza kutumika ni algoriti ya upangaji haraka. Huu hapa ni utekelezwaji wa upangaji haraka katika Python: def quicksortarray: ikiwa lenarray 2: Kesi ya msingi: safu zilizo na kipengee 0 au 1 tayari zimepangwa safu ya kurudi tena: Kesi inayorudiwa pivot safu 0 Safu ndogo ya vipengee vyote vilivyo chini ya egemeo kidogo i kwa i katika safu1: ikiwa i egemeo Safu ndogo ya vipengele vyote vilivyo kubwa kuliko egemeo kubwa i kwa i katika safu1: kama i egemeo return quicksortchini pivot quicksortgreater Chaguo za kukokotoa za quicksort huchukua kama kuingiza safu ya nambari ambazo hazijapangwa. Chaguo hili la kukokotoa lina kipochi cha msingi, ambacho ni kurudisha safu ikiwa ni ya urefu chini ya 2 kwani safu zilizo na kipengee 0 au 1 tayari zimepangwa. Kwa safu za urefu wa 2 au zaidi, chaguo la kukokotoa linaendelea na kipochi cha kujirudia. Katika hali ya kujirudi, kipengele cha kwanza cha safu huchaguliwa kama egemeo. safu ndogo mbili kisha kuundwa: safu ndogo chini iliyo na vipengele vyote vilivyo chini ya au sawa na egemeo na safu ndogo kubwa iliyo na vipengele vyote vikubwa kuliko egemeo. Chaguo za kukokotoa za quicksort basi huitwa kwa kujirudia kwenye safu ndogo chini na kubwa. Hatimaye, safu ndogo chini iliyopangwa, egemeo, na safu ndogo kubwa iliyopangwa zimeunganishwa pamoja ili kuunda safu iliyopangwa, ambayo inarejeshwa kama pato. Kumbuka kuwa algoriti ya upangaji wa haraka ni algoriti bora ya kupanga ambayo ina uchangamano wa wakati wa kesi-wastani wa On logi n, ambapo n ni idadi ya vipengele katika safu. Katika hali mbaya zaidi, utata wa wakati ni On2, lakini hii haiwezekani kutokea ikiwa egemeo limechaguliwa ipasavyo. 